<SEC-DOCUMENT>0001437749-24-019781.txt : 20240610
<SEC-HEADER>0001437749-24-019781.hdr.sgml : 20240610
<ACCEPTANCE-DATETIME>20240610123138
ACCESSION NUMBER:		0001437749-24-019781
CONFORMED SUBMISSION TYPE:	10-Q
PUBLIC DOCUMENT COUNT:		57
CONFORMED PERIOD OF REPORT:	20240430
FILED AS OF DATE:		20240610
DATE AS OF CHANGE:		20240610

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			OPTICAL CABLE CORP
		CENTRAL INDEX KEY:			0001000230
		STANDARD INDUSTRIAL CLASSIFICATION:	DRAWING AND INSULATING NONFERROUS WIRE [3357]
		ORGANIZATION NAME:           	04 Manufacturing
		IRS NUMBER:				541237042
		STATE OF INCORPORATION:			VA
		FISCAL YEAR END:			1031

	FILING VALUES:
		FORM TYPE:		10-Q
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	000-27022
		FILM NUMBER:		241032077

	BUSINESS ADDRESS:	
		STREET 1:		5290 CONCOURSE DR
		CITY:			ROANOKE
		STATE:			VA
		ZIP:			24019
		BUSINESS PHONE:		5402650690

	MAIL ADDRESS:	
		STREET 1:		5290 CONCOURSE DRIVE
		CITY:			ROANOKE
		STATE:			VA
		ZIP:			24019
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-Q
<SEQUENCE>1
<FILENAME>occ20240430_10q.htm
<DESCRIPTION>FORM 10-Q
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:naics="http://xbrl.sec.gov/naics/2024" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2020-02-12" xmlns:us-types="http://fasb.org/us-types/2023" xmlns:srt-types="http://fasb.org/srt-types/2023" xmlns:utreg="http://www.xbrl.org/2009/utr" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:us-roles="http://fasb.org/us-roles/2017-01-31" xmlns:stpr="http://xbrl.sec.gov/stpr/2024" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:thunderdome="http://www.RDGFilings.com" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xmlns:dei="http://xbrl.sec.gov/dei/2024" xmlns:enum2="http://xbrl.org/2020/extensible-enumerations-2.0" xmlns:occ="http://http/20240430" xmlns:rr="http://xbrl.sec.gov/rr/2023" xmlns:srt="http://fasb.org/srt/2024" xmlns:currency="http://xbrl.sec.gov/currency/2024" xmlns:sic="http://xbrl.sec.gov/sic/2024" xmlns:exch="http://xbrl.sec.gov/exch/2024" xmlns:country="http://xbrl.sec.gov/country/2024" xmlns:ecd="http://xbrl.sec.gov/ecd/2024" xmlns:us-gaap="http://fasb.org/us-gaap/2024" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21"><head>
	<title>occ20240430_10q.htm</title>


	<!-- Generated by ThunderDome Portal - 6/6/2024 5:37:44 PM -->
<meta http-equiv="Content-Type" content="text/html"/></head>
<body style="font-size: 10pt; font-family: &quot;Times New Roman&quot;; padding: 0in 0.1in; cursor: auto;"><div style="display: none;"><ix:header><ix:hidden>
<ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="dei:DocumentFiscalPeriodFocus" id="ixv-4518">Q2</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="dei:DocumentFiscalYearFocus" id="ixv-4519">2024</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="dei:CurrentFiscalYearEndDate" id="ixv-4520">--10-31</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="dei:AmendmentFlag" id="ixv-4521">false</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="dei:EntityCentralIndexKey" id="ixv-4522">0001000230</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2023-11-01_2024-04-30" name="ecd:NonRule10b51ArrTrmntdFlag" id="c573" format="ixt:fixed-false">false</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2023-11-01_2024-04-30" name="ecd:NonRule10b51ArrAdoptedFlag" id="c572" format="ixt:fixed-false">false</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2023-11-01_2024-04-30" name="ecd:Rule10b51ArrTrmntdFlag" id="c571" format="ixt:fixed-false">false</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2023-11-01_2024-04-30" name="ecd:Rule10b51ArrAdoptedFlag" id="c570" format="ixt:fixed-false">false</ix:nonNumeric>
<ix:nonFraction id="c531" contextRef="d_2023-11-01_2024-04-30" unitRef="Pure" name="us-gaap:NumberOfReportableSegments" scale="0" format="ixt:num-dot-decimal" decimals="INF">1</ix:nonFraction>
<ix:nonFraction id="c528" contextRef="d_2023-02-01_2023-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember" unitRef="Pure" name="occ:ConcentrationRiskNumberOfCustomers" scale="0" format="ixt:num-dot-decimal" decimals="INF">1</ix:nonFraction>
<ix:nonFraction id="c527" contextRef="d_2022-11-01_2023-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember" unitRef="Pure" name="occ:ConcentrationRiskNumberOfCustomers" scale="0" format="ixt:num-dot-decimal" decimals="INF">1</ix:nonFraction>
<ix:nonFraction id="c526" contextRef="d_2024-02-01_2024-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember" unitRef="Pure" name="occ:ConcentrationRiskNumberOfCustomers" scale="0" format="ixt:num-dot-decimal" decimals="INF">1</ix:nonFraction>
<ix:nonFraction id="c525" contextRef="d_2023-11-01_2024-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember" unitRef="Pure" name="occ:ConcentrationRiskNumberOfCustomers" scale="0" format="ixt:num-dot-decimal" decimals="INF">1</ix:nonFraction>
<ix:nonNumeric contextRef="i_2023-10-31" name="us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" id="c444">http://fasb.org/us-gaap/2024#OtherLiabilitiesNoncurrent</ix:nonNumeric>
<ix:nonNumeric contextRef="i_2023-10-31" name="us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" id="c443">http://fasb.org/us-gaap/2024#AccountsPayableAndAccruedLiabilitiesCurrent</ix:nonNumeric>
<ix:nonNumeric contextRef="i_2024-04-30" name="us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" id="c440">http://fasb.org/us-gaap/2024#OtherLiabilitiesNoncurrent</ix:nonNumeric>
<ix:nonNumeric contextRef="i_2024-04-30" name="us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" id="c439">http://fasb.org/us-gaap/2024#AccountsPayableAndAccruedLiabilitiesCurrent</ix:nonNumeric>
<ix:nonNumeric contextRef="i_2024-04-30" name="us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" id="c436">http://fasb.org/us-gaap/2024#OtherAssetsNoncurrent</ix:nonNumeric>
<ix:nonNumeric contextRef="i_2023-10-31" name="us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" id="c435">http://fasb.org/us-gaap/2024#OtherAssetsNoncurrent</ix:nonNumeric>
<ix:nonFraction id="c432" contextRef="d_2023-02-01_2023-04-30" unitRef="USD" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" scale="0" format="ixt:num-dot-decimal" decimals="-3">0</ix:nonFraction>
<ix:nonFraction id="c431" contextRef="d_2024-02-01_2024-04-30" unitRef="USD" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" scale="0" format="ixt:num-dot-decimal" decimals="-3">0</ix:nonFraction>
<ix:nonNumeric contextRef="i_2023-10-31" name="us-gaap:OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" id="c422">http://fasb.org/us-gaap/2024#OtherLiabilitiesNoncurrent</ix:nonNumeric>
<ix:nonNumeric contextRef="i_2023-10-31" name="us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" id="c421">http://fasb.org/us-gaap/2024#AccountsPayableAndAccruedLiabilitiesCurrent</ix:nonNumeric>
<ix:nonNumeric contextRef="i_2024-04-30" name="us-gaap:OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" id="c418">http://fasb.org/us-gaap/2024#OtherLiabilitiesNoncurrent</ix:nonNumeric>
<ix:nonNumeric contextRef="i_2024-04-30" name="us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" id="c417">http://fasb.org/us-gaap/2024#AccountsPayableAndAccruedLiabilitiesCurrent</ix:nonNumeric>
<ix:nonNumeric contextRef="i_2024-04-30" name="us-gaap:OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" id="c414">http://fasb.org/us-gaap/2024#OtherAssetsNoncurrent</ix:nonNumeric>
<ix:nonNumeric contextRef="i_2023-10-31" name="us-gaap:OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" id="c413">http://fasb.org/us-gaap/2024#OtherAssetsNoncurrent</ix:nonNumeric>
<ix:nonNumeric contextRef="i_2024-04-30_LeaseContractualTermAxis-OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember" name="us-gaap:LesseeOperatingLeaseTermOfContract" id="c409" format="ixt-sec:duryear">3</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2020-07-24_2020-07-24_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember" name="occ:DebtInstrumentTermExtensions" id="c400" format="ixt-sec:duryear">1</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2024-02-01_2024-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember" name="us-gaap:DebtInstrumentVariableInterestRateTypeExtensibleEnumeration" id="c395">http://fasb.org/us-gaap/2024#PrimeRateMember</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2022-11-01_2023-10-31_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember" name="us-gaap:DebtInstrumentVariableInterestRateTypeExtensibleEnumeration" id="c394">http://fasb.org/us-gaap/2024#PrimeRateMember</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2020-07-24_2020-07-24_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember" name="us-gaap:DebtInstrumentVariableInterestRateTypeExtensibleEnumeration" id="c393">http://fasb.org/us-gaap/2024#PrimeRateMember</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2024-02-01_2024-04-30_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember" name="us-gaap:DebtInstrumentVariableInterestRateTypeExtensibleEnumeration" id="c381">http://fasb.org/us-gaap/2024#PrimeRateMember</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2022-11-01_2023-10-31_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember" name="us-gaap:DebtInstrumentVariableInterestRateTypeExtensibleEnumeration" id="c380">http://fasb.org/us-gaap/2024#PrimeRateMember</ix:nonNumeric>
<ix:nonFraction id="c88" contextRef="i_2023-10-31" unitRef="USDPerShare" name="us-gaap:CommonStockNoParValue" scale="0" format="ixt:num-dot-decimal" decimals="-3">0</ix:nonFraction>
<ix:nonFraction id="c87" contextRef="i_2024-04-30" unitRef="USDPerShare" name="us-gaap:CommonStockNoParValue" scale="0" format="ixt:num-dot-decimal" decimals="-3">0</ix:nonFraction>
<ix:nonFraction id="c84" contextRef="i_2023-10-31" unitRef="Share" name="us-gaap:PreferredStockSharesOutstanding" scale="0" format="ixt:num-dot-decimal" decimals="-3">0</ix:nonFraction>
<ix:nonFraction id="c83" contextRef="i_2024-04-30" unitRef="Share" name="us-gaap:PreferredStockSharesOutstanding" scale="0" format="ixt:num-dot-decimal" decimals="-3">0</ix:nonFraction>
<ix:nonFraction id="c82" contextRef="i_2023-10-31" unitRef="Share" name="us-gaap:PreferredStockSharesIssued" scale="0" format="ixt:num-dot-decimal" decimals="-3">0</ix:nonFraction>
<ix:nonFraction id="c81" contextRef="i_2024-04-30" unitRef="Share" name="us-gaap:PreferredStockSharesIssued" scale="0" format="ixt:num-dot-decimal" decimals="-3">0</ix:nonFraction>
<ix:nonFraction id="c78" contextRef="i_2023-10-31" unitRef="USDPerShare" name="us-gaap:PreferredStockNoParValue" scale="0" format="ixt:num-dot-decimal" decimals="-3">0</ix:nonFraction>
<ix:nonFraction id="c77" contextRef="i_2024-04-30" unitRef="USDPerShare" name="us-gaap:PreferredStockNoParValue" scale="0" format="ixt:num-dot-decimal" decimals="-3">0</ix:nonFraction></ix:hidden>
<ix:references>
<link:schemaRef xlink:href="occ-20240430.xsd" xlink:type="simple"/></ix:references>
<ix:resources>
<xbrli:context id="d_2024-02-01_2024-04-30"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2024-02-01</xbrli:startDate><xbrli:endDate>2024-04-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:unit id="NonApplicable"><xbrli:measure>thunderdome:item</xbrli:measure></xbrli:unit>
<xbrli:context id="d_2023-11-01_2024-04-30"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-11-01</xbrli:startDate><xbrli:endDate>2024-04-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:unit id="USD"><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unit>
<xbrli:context id="d_2022-11-01_2023-04-30"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-11-01</xbrli:startDate><xbrli:endDate>2023-04-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-02-01_2023-04-30"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-04-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-11-01_2023-04-30_StatementGeographicalAxis-NonUsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-11-01</xbrli:startDate><xbrli:endDate>2023-04-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-11-01_2024-04-30_StatementGeographicalAxis-NonUsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-11-01</xbrli:startDate><xbrli:endDate>2024-04-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-02-01_2023-04-30_StatementGeographicalAxis-NonUsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-04-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2024-02-01_2024-04-30_StatementGeographicalAxis-NonUsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-02-01</xbrli:startDate><xbrli:endDate>2024-04-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-11-01_2023-04-30_StatementGeographicalAxis-US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-11-01</xbrli:startDate><xbrli:endDate>2023-04-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-11-01_2024-04-30_StatementGeographicalAxis-US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-11-01</xbrli:startDate><xbrli:endDate>2024-04-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-02-01_2023-04-30_StatementGeographicalAxis-US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-04-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2024-02-01_2024-04-30_StatementGeographicalAxis-US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-02-01</xbrli:startDate><xbrli:endDate>2024-04-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-10-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2024-04-30"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2024-04-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:unit id="Pure"><xbrli:measure>xbrli:pure</xbrli:measure></xbrli:unit>
<xbrli:context id="d_2022-11-01_2023-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-OneCustomerMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">occ:OneCustomerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-11-01</xbrli:startDate><xbrli:endDate>2023-04-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-02-01_2023-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-OneCustomerMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">occ:OneCustomerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-04-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-02-01_2023-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-04-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-11-01_2023-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><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-11-01</xbrli:startDate><xbrli:endDate>2023-04-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2024-02-01_2024-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><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>2024-02-01</xbrli:startDate><xbrli:endDate>2024-04-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-11-01_2024-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><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-11-01</xbrli:startDate><xbrli:endDate>2024-04-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-11-01_2024-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-OneCustomerMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">occ:OneCustomerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-11-01</xbrli:startDate><xbrli:endDate>2024-04-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2024-02-01_2024-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-OneCustomerMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">occ:OneCustomerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-02-01</xbrli:startDate><xbrli:endDate>2024-04-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:unit id="Share"><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unit>
<xbrli:unit id="USDPerShare"><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="Month"><xbrli:measure>utr:M</xbrli:measure></xbrli:unit>
<xbrli:context id="d_2022-11-01_2023-01-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-11-01</xbrli:startDate><xbrli:endDate>2023-01-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2024-04-30_LeaseContractualTermAxis-OperatingLeaseForOfficeEquipmentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">occ:OperatingLeaseForOfficeEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-04-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:unit id="Year"><xbrli:measure>utr:Y</xbrli:measure></xbrli:unit>
<xbrli:context id="i_2024-04-30_LeaseContractualTermAxis-OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">occ:OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-04-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:unit id="SquareFoot"><xbrli:measure>utr:sqft</xbrli:measure></xbrli:unit>
<xbrli:context id="i_2024-04-30_LeaseContractualTermAxis-OperatingLeaseForOfficeManufacturingAndWarehouseSpaceInPlanoTexasMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">occ:OperatingLeaseForOfficeManufacturingAndWarehouseSpaceInPlanoTexasMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-04-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-10-31_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">occ:NorthMillCapitalLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2024-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">occ:NorthMillCapitalLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-04-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2020-07-24_2020-07-24_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">occ:NorthMillCapitalLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-07-24</xbrli:startDate><xbrli:endDate>2020-07-24</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2020-07-24_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember_RangeAxis-MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">occ:NorthMillCapitalLlcMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-07-24</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2020-07-24_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">occ:NorthMillCapitalLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-07-24</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2024-02-01_2024-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">occ:NorthMillCapitalLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-02-01</xbrli:startDate><xbrli:endDate>2024-04-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-11-01_2023-10-31_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">occ:NorthMillCapitalLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-11-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-11-01_2024-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">occ:NorthMillCapitalLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-11-01</xbrli:startDate><xbrli:endDate>2024-04-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-10-31_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">occ:VirginiaRealEstateLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2024-04-30_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">occ:VirginiaRealEstateLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-04-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2024-02-01_2024-04-30_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">occ:VirginiaRealEstateLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-02-01</xbrli:startDate><xbrli:endDate>2024-04-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-11-01_2023-10-31_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">occ:VirginiaRealEstateLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-11-01</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2024-04-30_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember_RangeAxis-MinimumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">occ:VirginiaRealEstateLoanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-04-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-11-01_2024-04-30_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">occ:VirginiaRealEstateLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-11-01</xbrli:startDate><xbrli:endDate>2024-04-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-04-30"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-04-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-10-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-10-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-10-31_BalanceSheetLocationAxis-AccountsPayableAndAccruedLiabilitiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccountsPayableAndAccruedLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2024-04-30_BalanceSheetLocationAxis-AccountsPayableAndAccruedLiabilitiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccountsPayableAndAccruedLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-04-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2024-05-17_2024-05-17_AwardTypeAxis-RestrictedStockMember_PlanNameAxis-Plan2017Member_SubsequentEventTypeAxis-SubsequentEventMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">occ:Plan2017Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-05-17</xbrli:startDate><xbrli:endDate>2024-05-17</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2024-04-30_AwardTypeAxis-RestrictedStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-04-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-11-01_2024-04-30_AwardTypeAxis-RestrictedStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-11-01</xbrli:startDate><xbrli:endDate>2024-04-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-11-01_2023-04-30_PlanNameAxis-Plan2017Member_TitleOfIndividualAxis-EmployeesConsultantAndNonemployeeDirectorsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">occ:Plan2017Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">occ:EmployeesConsultantAndNonemployeeDirectorsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-11-01</xbrli:startDate><xbrli:endDate>2023-04-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-02-01_2023-04-30_PlanNameAxis-Plan2017Member_TitleOfIndividualAxis-EmployeesConsultantAndNonemployeeDirectorsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">occ:Plan2017Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">occ:EmployeesConsultantAndNonemployeeDirectorsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-04-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-11-01_2024-04-30_PlanNameAxis-Plan2017Member_TitleOfIndividualAxis-EmployeesConsultantAndNonemployeeDirectorsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">occ:Plan2017Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">occ:EmployeesConsultantAndNonemployeeDirectorsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-11-01</xbrli:startDate><xbrli:endDate>2024-04-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2024-02-01_2024-04-30_PlanNameAxis-Plan2017Member_TitleOfIndividualAxis-EmployeesConsultantAndNonemployeeDirectorsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">occ:Plan2017Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">occ:EmployeesConsultantAndNonemployeeDirectorsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-02-01</xbrli:startDate><xbrli:endDate>2024-04-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2024-04-30_PlanNameAxis-Plan2017Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">occ:Plan2017Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-04-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-11-01_2023-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">occ:NorthMillCapitalLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-11-01</xbrli:startDate><xbrli:endDate>2023-04-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-04-30_StatementEquityComponentsAxis-RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-04-30_StatementEquityComponentsAxis-CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-02-01_2023-04-30_StatementEquityComponentsAxis-RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-04-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-02-01_2023-04-30_StatementEquityComponentsAxis-CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-04-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-01-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-01-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-01-31_StatementEquityComponentsAxis-RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-01-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-01-31_StatementEquityComponentsAxis-CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-01-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-11-01_2023-01-31_StatementEquityComponentsAxis-RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-11-01</xbrli:startDate><xbrli:endDate>2023-01-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-11-01_2023-01-31_StatementEquityComponentsAxis-CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-11-01</xbrli:startDate><xbrli:endDate>2023-01-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-10-31_StatementEquityComponentsAxis-RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-10-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-10-31_StatementEquityComponentsAxis-CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-10-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2024-04-30_StatementEquityComponentsAxis-RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-04-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2024-04-30_StatementEquityComponentsAxis-CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-04-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2024-02-01_2024-04-30_StatementEquityComponentsAxis-RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-02-01</xbrli:startDate><xbrli:endDate>2024-04-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2024-02-01_2024-04-30_StatementEquityComponentsAxis-CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-02-01</xbrli:startDate><xbrli:endDate>2024-04-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2024-01-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2024-01-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2024-01-31_StatementEquityComponentsAxis-RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-01-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2024-01-31_StatementEquityComponentsAxis-CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-01-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-11-01_2024-01-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-11-01</xbrli:startDate><xbrli:endDate>2024-01-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-11-01_2024-01-31_StatementEquityComponentsAxis-RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-11-01</xbrli:startDate><xbrli:endDate>2024-01-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2023-11-01_2024-01-31_StatementEquityComponentsAxis-CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-11-01</xbrli:startDate><xbrli:endDate>2024-01-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-10-31_StatementEquityComponentsAxis-RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-10-31_StatementEquityComponentsAxis-CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2024-06-04"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2024-06-04</xbrli:instant></xbrli:period></xbrli:context>
<ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="ff1f85a32-5a6c-4c89-bbeb-5dbee05c913a" fromRefs="c478 c477"/></ix:resources>
</ix:header></div>
<div>&#160;</div>

<div>
<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"><a href="#toc" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt">Table of Contents</a></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">UNITED STATES<br/>
SECURITIES AND EXCHANGE COMMISSION<br/>
Washington, D.C. 20549</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:12pt;font-variant:normal;text-align:center;margin:0pt;"><b>FORM <ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="dei:DocumentType" id="c2">10-Q</ix:nonNumeric></b></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="dei:DocumentQuarterlyReport" id="c3" format="ixt-sec:boolballotbox">&#9746;</ix:nonNumeric></b>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <b>QUARTERLY REPORT PURSUANT TO SECTION</b>&#160;<b>13 OR 15(d)</b><br/>
<b>OF THE SECURITIES EXCHANGE ACT OF 1934</b></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">For the quarterly period ended <ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="dei:DocumentPeriodEndDate" id="c4" format="ixt:date-monthname-day-year-en">April 30, 2024</ix:nonNumeric></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>OR</b></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="dei:DocumentTransitionReport" id="c5" format="ixt-sec:boolballotbox">&#9744;</ix:nonNumeric>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <b>TRANSITION REPORT PURSUANT TO SECTION</b>&#160;<b>13 OR 15(d)</b><br/>
<b>OF THE SECURITIES EXCHANGE ACT OF 1934</b></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">For the transition period from _____________ to ______________</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">Commission file number <ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="dei:EntityFileNumber" id="c6">0-27022</ix:nonNumeric></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="dei:EntityRegistrantName" id="c7">OPTICAL CABLE CORPORATION</ix:nonNumeric></b></p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">(Exact name of registrant as specified in its charter)</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<table border="0" cellpadding="0" cellspacing="0" style="font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; width: 100%;">

		<tbody><tr>
			<td style="width: 50%; text-align: center;"><b><ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="dei:EntityIncorporationStateCountryCode" id="c8" format="ixt-sec:stateprovnameen">Virginia</ix:nonNumeric></b></td>
			<td style="width: 50%; text-align: center;"><b><ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="dei:EntityTaxIdentificationNumber" id="c9">54-1237042</ix:nonNumeric></b></td>
		</tr>
		<tr>
			<td style="text-align: center;">(State or other jurisdiction of incorporation</td>
			<td style="text-align: center;">(I.R.S. Employer</td>
		</tr>
		<tr>
			<td style="text-align: center;">or organization)</td>
			<td style="text-align: center;">Identification No.)</td>
		</tr>

</tbody></table>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;text-indent:9pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="dei:EntityAddressAddressLine1" id="c10">5290 Concourse Drive</ix:nonNumeric></b><br/>
<b><ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="dei:EntityAddressCityOrTown" id="c11">Roanoke</ix:nonNumeric>, <ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="dei:EntityAddressStateOrProvince" id="c12" format="ixt-sec:stateprovnameen">Virginia</ix:nonNumeric> <ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="dei:EntityAddressPostalZipCode" id="c13">24019</ix:nonNumeric></b><br/>
(Address of principal executive offices, including zip code)</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>(<ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="dei:CityAreaCode" id="c14">540</ix:nonNumeric>) <ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="dei:LocalPhoneNumber" id="c15">265&#8209;0690</ix:nonNumeric></b><br/>
(Registrant&#8217;s telephone number, including area code)</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><span style="text-decoration: underline; ">Securities registered pursuant to Section 12(b) of the Act:</span></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<table border="0" cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;margin-left:auto;margin-right:auto;">

		<tbody><tr>
			<td style="vertical-align:bottom;width:33.7%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><span style="text-decoration: underline; ">Title of Each Class</span></b></p>
			</td>
			<td style="vertical-align:top;width:33.7%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><span style="text-decoration: underline; ">Trading Symbol</span></b></p>
			</td>
			<td style="vertical-align:top;width:33.7%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><span style="text-decoration: underline; ">Name of exchange on which registered</span></b></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:bottom;width:33.7%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="dei:Security12bTitle" id="c16">Common Stock, no par value</ix:nonNumeric></p>
			</td>
			<td style="vertical-align:top;width:33.7%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="dei:TradingSymbol" id="c17">OCC</ix:nonNumeric></p>
			</td>
			<td style="vertical-align:top;width:33.7%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="dei:SecurityExchangeName" id="c18" format="ixt-sec:exchnameen">Nasdaq</ix:nonNumeric> Global Market</p>
			</td>
		</tr>

</tbody></table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;text-indent:25pt;">Indicate by check mark whether the registrant (1)&#160;has filed all reports required to be filed by Section&#160;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)&#160;has been subject to such filing requirements for the past 90 days. <ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="dei:EntityCurrentReportingStatus" id="c19">Yes</ix:nonNumeric>&#160;&#9746;&#160;&#160;&#160;&#160;No &#9744;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;text-indent:25pt;">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). <ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="dei:EntityInteractiveDataCurrent" id="c20">Yes</ix:nonNumeric>&#160;&#9746;&#160;&#160;&#160;&#160;No &#9744;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;text-indent:28pt;">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 12b-2 of the Exchange Act). (Check one):</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;text-indent:25pt;">Large Accelerated Filer&#160;&#9744;&#160;&#160;&#160;&#160; Accelerated Filer&#160;&#9744;&#160;&#160;&#160;&#160; <ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="dei:EntityFilerCategory" id="c21" format="ixt-sec:entityfilercategoryen">Non-accelerated Filer</ix:nonNumeric> &#9744;&#160;&#160;&#160;&#160; Smaller Reporting Company <ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="dei:EntitySmallBusiness" id="c22" format="ixt-sec:boolballotbox">&#9746;</ix:nonNumeric>&#160;&#160;&#160;&#160; Emerging Growth Company <ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="dei:EntityEmergingGrowthCompany" id="c23" format="ixt-sec:boolballotbox">&#9744;</ix:nonNumeric></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;text-indent:25pt;">If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act. &#9744;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;text-indent:25pt;">Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act).&#160;&#160;&#160;&#160;Yes&#160;<ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="dei:EntityShellCompany" id="c24" format="ixt-sec:boolballotbox">&#9744;</ix:nonNumeric>&#160;&#160;&#160; No&#160;&#9746;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt; text-indent: 25pt;">As of June 4, 2024, <ix:nonFraction id="c25" contextRef="i_2024-06-04" unitRef="Share" name="dei:EntityCommonStockSharesOutstanding" scale="0" format="ixt:num-dot-decimal" decimals="INF">7,892,475</ix:nonFraction> shares of the registrant&#8217;s Common Stock, no par value, were outstanding.</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;text-indent:36pt;">&#160;</p>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGFTR" style="text-align: center; width: 100%">
<div class="hf-row">
<div class="hf-cell PGNUM">&#160;</div>
</div>
</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000"/>
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="hf-cell TOCLink" style="display: inline-block; text-align: left;"><a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">Table of Contents</a></div>
</div>
</div>
</div>

<p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#160;</p>
</div>

<div>&#160;</div>

<div>
<p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#160;</p>

<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><a id="toc" title="toc" href="#"></a>OPTICAL CABLE CORPORATION</b></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">Form 10-Q Index</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">Six Months Ended April 30, 2024</p>

<div>&#160;</div>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<table border="0" cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;margin-left:auto;margin-right:auto;">

		<tbody><tr>
			<td style="vertical-align: top; width: 8%;">&#160;</td>
			<td style="vertical-align: top; width: 86%;">&#160;</td>
			<td style="vertical-align: top; width: 6%; text-align: center;"><b>Page</b></td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8%;">&#160;</td>
			<td style="vertical-align: top; width: 86%;">&#160;</td>
			<td style="vertical-align: top; width: 6%;">&#160;</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><b>PART I.</b></p>
			</td>
			<td style="vertical-align: top; width: 86%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><a href="#part1" style="-sec-extract:exhibit;"><b>FINANCIAL INFORMATION</b></a></p>
			</td>
			<td style="vertical-align: top; width: 6%;">&#160;</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8%;">&#160;</td>
			<td style="vertical-align: top; width: 86%;">&#160;</td>
			<td style="vertical-align: top; width: 6%;">&#160;</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8%;">&#160;</td>
			<td style="vertical-align: top; width: 86%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><b><a href="#part1" style="-sec-extract:exhibit;">Item&#160;1.&#160; Financial Statements (unaudited)</a></b></p>
			</td>
			<td style="vertical-align: top; width: 6%;">&#160;</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8%;">&#160;</td>
			<td style="vertical-align: top; width: 86%;">&#160;</td>
			<td style="vertical-align: top; width: 6%;">&#160;</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
			</td>
			<td style="vertical-align: top; width: 86%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 54pt; text-indent: -18pt;"><a href="#part1" style="-sec-extract:exhibit;">Condensed Consolidated Balance Sheets&#160;&#8211;&#160;April 30, 2024 and October&#160;31, 2023</a></p>
			</td>
			<td style="vertical-align: top; width: 6%; text-align: center;"><a class="tocPGNUM" href="#part1">2</a></td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8%;">&#160;</td>
			<td style="vertical-align: top; width: 86%;">&#160;</td>
			<td style="vertical-align: top; width: 6%; text-align: center;">&#160;</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
			</td>
			<td style="vertical-align: top; width: 86%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 54pt; text-indent: -18pt;"><a href="#ops" style="-sec-extract:exhibit;">Condensed Consolidated Statements of Operations&#160;&#8211;&#160;Three Months and Six Months Ended April 30, 2024 and 2023</a></p>
			</td>
			<td style="vertical-align: top; width: 6%; text-align: center;"><a class="tocPGNUM" href="#ops">3</a></td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8%;">&#160;</td>
			<td style="vertical-align: top; width: 86%;">&#160;</td>
			<td style="vertical-align: top; width: 6%; text-align: center;">&#160;</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
			</td>
			<td style="vertical-align: top; width: 86%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 54pt; text-indent: -18pt;"><a href="#equity" style="-sec-extract:exhibit;">Condensed Consolidated Statements of Shareholders&#8217;&#160;Equity&#160;&#8211;&#160;Three Months and Six Months Ended April 30, 2024 and 2023</a></p>
			</td>
			<td style="vertical-align: top; width: 6%; text-align: center;"><a class="tocPGNUM" href="#equity">4</a></td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8%;">&#160;</td>
			<td style="vertical-align: top; width: 86%;">&#160;</td>
			<td style="vertical-align: top; width: 6%; text-align: center;">&#160;</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
			</td>
			<td style="vertical-align: top; width: 86%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 54pt; text-indent: -18pt;"><a href="#cf" style="-sec-extract:exhibit;">Condensed Consolidated Statements of Cash Flows&#160;&#8211;Six Months Ended April 30, 2024 and 2023</a></p>
			</td>
			<td style="vertical-align: top; width: 6%; text-align: center;"><a class="tocPGNUM" href="#cf">5</a></td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8%;">&#160;</td>
			<td style="vertical-align: top; width: 86%;">&#160;</td>
			<td style="vertical-align: top; width: 6%; text-align: center;">&#160;</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
			</td>
			<td style="vertical-align: top; width: 86%;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 36pt;"><a href="#notes" style="-sec-extract:exhibit;">Condensed Notes to Condensed Consolidated Financial Statements</a></p>
			</td>
			<td style="vertical-align: top; width: 6%; text-align: center;"><a class="tocPGNUM" href="#notes">6</a></td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8%;">&#160;</td>
			<td style="vertical-align: top; width: 86%;">&#160;</td>
			<td style="vertical-align: top; width: 6%;">&#160;</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8%;">&#160;</td>
			<td style="vertical-align: top; width: 86%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><b><a href="#item2" style="-sec-extract:exhibit;">Item&#160;2.&#160; Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</a></b></p>
			</td>
			<td style="vertical-align: top; width: 6%; text-align: center;"><a class="tocPGNUM" href="#item2">14</a></td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8%;">&#160;</td>
			<td style="vertical-align: top; width: 86%;">&#160;</td>
			<td style="vertical-align: top; width: 6%;">&#160;</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8%;">&#160;</td>
			<td style="vertical-align: top; width: 86%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><a href="#item4" style="-sec-extract:exhibit;"><b>Item&#160;4.&#160; Controls and Procedures</b></a></p>
			</td>
			<td style="vertical-align: top; width: 6%; text-align: center;"><a class="tocPGNUM" href="#item4">27</a></td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8%;">&#160;</td>
			<td style="vertical-align: top; width: 86%;">&#160;</td>
			<td style="vertical-align: top; width: 6%; text-align: center;">&#160;</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><b>PART II.</b></p>
			</td>
			<td style="vertical-align: top; width: 86%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><a href="#part2" style="-sec-extract:exhibit;"><b>OTHER INFORMATION</b></a></p>
			</td>
			<td style="vertical-align: top; width: 6%; text-align: center;">&#160;</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8%;">&#160;</td>
			<td style="vertical-align: top; width: 86%;">&#160;</td>
			<td style="vertical-align: top; width: 6%; text-align: center;">&#160;</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
			</td>
			<td style="vertical-align: top; width: 86%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><b><a href="#item5" style="-sec-extract:exhibit;">Item 5. Other Information</a></b></p>
			</td>
			<td style="vertical-align: top; width: 6%; text-align: center;"><a class="tocPGNUM" href="#item5">28</a></td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8%;">&#160;</td>
			<td style="vertical-align: top; width: 86%;">&#160;</td>
			<td style="vertical-align: top; width: 6%; text-align: center;">&#160;</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
			</td>
			<td style="vertical-align: top; width: 86%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><a href="#item6" style="-sec-extract:exhibit;"><b>Item 6.&#160; Exhibits</b></a></p>
			</td>
			<td style="vertical-align: top; width: 6%; text-align: center;"><a class="tocPGNUM" href="#item6">29</a></td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8%;">&#160;</td>
			<td style="vertical-align: top; width: 86%;">&#160;</td>
			<td style="vertical-align: top; width: 6%; text-align: center;">&#160;</td>
		</tr>
		<tr>
			<td colspan="2" rowspan="1" style="vertical-align: top; width: 8%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><b><a href="#sigs" style="-sec-extract:exhibit;">SIGNATURES</a></b></p>
			</td>
			<td style="vertical-align: top; width: 6%; text-align: center;"><a class="tocPGNUM" href="#sigs">33</a></td>
		</tr>

</tbody></table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGFTR" style="text-align: center; width: 100%">
<div class="hf-row">
<div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">1</div>
</div>
</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000"/>
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="hf-cell TOCLink" style="display: inline-block; text-align: left;"><a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">Table of Contents</a></div>
</div>
</div>
</div>

<p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#160;</p>
</div>

<div>&#160;</div>

<table border="0" cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;margin-left:auto;margin-right:auto;">

		<tbody><tr>
			<td colspan="1" style="vertical-align:bottom;width:98.6%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><a id="part1" title="part1" href="#"></a>PART I.</b>&#160;<b>&#160;FINANCIAL INFORMATION</b></p>
			</td>
		</tr>
		<tr>
			<td colspan="1" style="vertical-align:bottom;width:2.7%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Item 1.&#160;&#160;Financial Statements</p>
			</td>
		</tr>
		<tr>
			<td colspan="1" style="vertical-align:bottom;width:2.7%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>OPTICAL CABLE CORPORATION</b></p>
			</td>
		</tr>
		<tr>
			<td colspan="1" style="vertical-align:bottom;width:2.7%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">Condensed Consolidated Balance Sheets</p>
			</td>
		</tr>
		<tr>
			<td colspan="1" style="vertical-align:bottom;width:2.7%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">(Unaudited)</p>
			</td>
		</tr>

</tbody></table>

<p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">&#160;</p>

<div>
<table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;">

		<tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>April 30,</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>October 31, </b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 70%;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">&#160;</p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2024</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;"><b>Assets</b></td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Current assets:</p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Cash</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c32" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="0" format="ixt:num-dot-decimal" decimals="0">1,089,912</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c33" contextRef="i_2023-10-31" unitRef="USD" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="0" format="ixt:num-dot-decimal" decimals="0">1,468,709</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Trade accounts receivable, net of allowance for credit losses of $<ix:nonFraction id="c34" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="0" format="ixt:num-dot-decimal" decimals="0">54,261</ix:nonFraction> at April 30, 2024 and $<ix:nonFraction id="c35" contextRef="i_2023-10-31" unitRef="USD" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="0" format="ixt:num-dot-decimal" decimals="0">71,189</ix:nonFraction> at October 31, 2023</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c36" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:AccountsReceivableNetCurrent" scale="0" format="ixt:num-dot-decimal" decimals="0">8,297,895</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c37" contextRef="i_2023-10-31" unitRef="USD" name="us-gaap:AccountsReceivableNetCurrent" scale="0" format="ixt:num-dot-decimal" decimals="0">8,727,810</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Income taxes refundable - current</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c38" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:IncomeTaxesReceivable" scale="0" format="ixt:num-dot-decimal" decimals="0">81,844</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c39" contextRef="i_2023-10-31" unitRef="USD" name="us-gaap:IncomeTaxesReceivable" scale="0" format="ixt:num-dot-decimal" decimals="0">81,844</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Other receivables</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c40" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:OtherReceivables" scale="0" format="ixt:num-dot-decimal" decimals="0">13,228</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c41" contextRef="i_2023-10-31" unitRef="USD" name="us-gaap:OtherReceivables" scale="0" format="ixt:num-dot-decimal" decimals="0">397,758</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Inventories</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c42" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:InventoryNet" scale="0" format="ixt:num-dot-decimal" decimals="0">21,486,376</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c43" contextRef="i_2023-10-31" unitRef="USD" name="us-gaap:InventoryNet" scale="0" format="ixt:num-dot-decimal" decimals="0">23,766,326</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Prepaid expenses and other assets</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c44" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="0" format="ixt:num-dot-decimal" decimals="0">483,909</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c45" contextRef="i_2023-10-31" unitRef="USD" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="0" format="ixt:num-dot-decimal" decimals="0">595,469</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 54pt;">Total current assets</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c46" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:AssetsCurrent" scale="0" format="ixt:num-dot-decimal" decimals="0">31,453,164</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c47" contextRef="i_2023-10-31" unitRef="USD" name="us-gaap:AssetsCurrent" scale="0" format="ixt:num-dot-decimal" decimals="0">35,037,916</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Property and equipment, net</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c48" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentNet" scale="0" format="ixt:num-dot-decimal" decimals="0">7,079,322</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c49" contextRef="i_2023-10-31" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentNet" scale="0" format="ixt:num-dot-decimal" decimals="0">7,139,616</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Intangible assets, net</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c50" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="0" format="ixt:num-dot-decimal" decimals="0">539,168</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c51" contextRef="i_2023-10-31" unitRef="USD" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="0" format="ixt:num-dot-decimal" decimals="0">566,197</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Other assets, net</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c52" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:OtherAssetsNoncurrent" scale="0" format="ixt:num-dot-decimal" decimals="0">813,250</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c53" contextRef="i_2023-10-31" unitRef="USD" name="us-gaap:OtherAssetsNoncurrent" scale="0" format="ixt:num-dot-decimal" decimals="0">1,135,172</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 54pt;">Total assets</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c54" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:Assets" scale="0" format="ixt:num-dot-decimal" decimals="0">39,884,904</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c55" contextRef="i_2023-10-31" unitRef="USD" name="us-gaap:Assets" scale="0" format="ixt:num-dot-decimal" decimals="0">43,878,901</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: center;"><b>Liabilities</b> <b>and</b> <b>Shareholders</b>&#8217; <b>Equity</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td>
			<td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td>
			<td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Current liabilities:</p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Current installments of long-term debt</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c58" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:LoansPayableCurrent" scale="0" format="ixt:num-dot-decimal" decimals="0">55,445</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c59" contextRef="i_2023-10-31" unitRef="USD" name="us-gaap:LoansPayableCurrent" scale="0" format="ixt:num-dot-decimal" decimals="0">52,624</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Accounts payable and accrued expenses</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c60" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent" scale="0" format="ixt:num-dot-decimal" decimals="0">5,396,473</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c61" contextRef="i_2023-10-31" unitRef="USD" name="us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent" scale="0" format="ixt:num-dot-decimal" decimals="0">5,843,044</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Accrued compensation and payroll taxes</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c62" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" scale="0" format="ixt:num-dot-decimal" decimals="0">1,647,773</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c63" contextRef="i_2023-10-31" unitRef="USD" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" scale="0" format="ixt:num-dot-decimal" decimals="0">1,849,780</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Income taxes payable</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c64" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:TaxesPayableCurrent" scale="0" format="ixt:num-dot-decimal" decimals="0">34,777</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c65" contextRef="i_2023-10-31" unitRef="USD" name="us-gaap:TaxesPayableCurrent" scale="0" format="ixt:num-dot-decimal" decimals="0">22,754</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 54pt;">Total current liabilities</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c66" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:LiabilitiesCurrent" scale="0" format="ixt:num-dot-decimal" decimals="0">7,134,468</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c67" contextRef="i_2023-10-31" unitRef="USD" name="us-gaap:LiabilitiesCurrent" scale="0" format="ixt:num-dot-decimal" decimals="0">7,768,202</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Note payable, revolver - noncurrent</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c68" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:LongTermLineOfCredit" scale="0" format="ixt:num-dot-decimal" decimals="0">8,046,853</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c69" contextRef="i_2023-10-31" unitRef="USD" name="us-gaap:LongTermLineOfCredit" scale="0" format="ixt:num-dot-decimal" decimals="0">8,324,397</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Long-term debt, excluding current installments</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c70" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:LongTermLoansPayable" scale="0" format="ixt:num-dot-decimal" decimals="0">2,599,030</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c71" contextRef="i_2023-10-31" unitRef="USD" name="us-gaap:LongTermLoansPayable" scale="0" format="ixt:num-dot-decimal" decimals="0">2,622,620</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Other noncurrent liabilities</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c72" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:OtherLiabilitiesNoncurrent" scale="0" format="ixt:num-dot-decimal" decimals="0">266,198</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c73" contextRef="i_2023-10-31" unitRef="USD" name="us-gaap:OtherLiabilitiesNoncurrent" scale="0" format="ixt:num-dot-decimal" decimals="0">441,838</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 54pt;">Total liabilities</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c74" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:Liabilities" scale="0" format="ixt:num-dot-decimal" decimals="0">18,046,549</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c75" contextRef="i_2023-10-31" unitRef="USD" name="us-gaap:Liabilities" scale="0" format="ixt:num-dot-decimal" decimals="0">19,157,057</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Shareholders&#8217; equity:</p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Preferred stock, <span style="-sec-ix-hidden:c77"><span style="-sec-ix-hidden:c78">no</span></span> par value, authorized <ix:nonFraction id="c79" contextRef="i_2024-04-30" unitRef="Share" name="us-gaap:PreferredStockSharesAuthorized" scale="0" format="ixt:num-dot-decimal" decimals="INF"><ix:nonFraction id="c80" contextRef="i_2023-10-31" unitRef="Share" name="us-gaap:PreferredStockSharesAuthorized" scale="0" format="ixt:num-dot-decimal" decimals="INF">1,000,000</ix:nonFraction></ix:nonFraction> shares; <span style="-sec-ix-hidden:c81"><span style="-sec-ix-hidden:c82"><span style="-sec-ix-hidden:c83"><span style="-sec-ix-hidden:c84">none</span></span></span></span> issued and outstanding</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c85" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:PreferredStockValue" scale="0" format="ixt:fixed-zero" decimals="-3">&#8212;</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86" contextRef="i_2023-10-31" unitRef="USD" name="us-gaap:PreferredStockValue" scale="0" format="ixt:fixed-zero" decimals="-3">&#8212;</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Common stock, <span style="-sec-ix-hidden:c87"><span style="-sec-ix-hidden:c88">no</span></span> par value, authorized <ix:nonFraction id="c89" contextRef="i_2024-04-30" unitRef="Share" name="us-gaap:CommonStockSharesAuthorized" scale="0" format="ixt:num-dot-decimal" decimals="INF"><ix:nonFraction id="c90" contextRef="i_2023-10-31" unitRef="Share" name="us-gaap:CommonStockSharesAuthorized" scale="0" format="ixt:num-dot-decimal" decimals="INF">50,000,000</ix:nonFraction></ix:nonFraction> shares; issued and outstanding <ix:nonFraction id="c91" contextRef="i_2024-04-30" unitRef="Share" name="us-gaap:CommonStockSharesIssued" scale="0" format="ixt:num-dot-decimal" decimals="INF"><ix:nonFraction id="c92" contextRef="i_2024-04-30" unitRef="Share" name="us-gaap:CommonStockSharesOutstanding" scale="0" format="ixt:num-dot-decimal" decimals="INF">7,852,515</ix:nonFraction></ix:nonFraction> shares at April 30, 2024 and <ix:nonFraction id="c93" contextRef="i_2023-10-31" unitRef="Share" name="us-gaap:CommonStockSharesIssued" scale="0" format="ixt:num-dot-decimal" decimals="INF"><ix:nonFraction id="c94" contextRef="i_2023-10-31" unitRef="Share" name="us-gaap:CommonStockSharesOutstanding" scale="0" format="ixt:num-dot-decimal" decimals="INF">7,893,681</ix:nonFraction></ix:nonFraction> shares at October 31, 2023</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c95" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:CommonStockValue" scale="0" format="ixt:num-dot-decimal" decimals="0">15,277,264</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c96" contextRef="i_2023-10-31" unitRef="USD" name="us-gaap:CommonStockValue" scale="0" format="ixt:num-dot-decimal" decimals="0">15,134,133</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Retained earnings</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c97" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="0" format="ixt:num-dot-decimal" decimals="0">6,561,091</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c98" contextRef="i_2023-10-31" unitRef="USD" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="0" format="ixt:num-dot-decimal" decimals="0">9,587,711</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 54pt;">Total shareholders&#8217; equity</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c99" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:StockholdersEquity" scale="0" format="ixt:num-dot-decimal" decimals="0">21,838,355</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100" contextRef="i_2023-10-31" unitRef="USD" name="us-gaap:StockholdersEquity" scale="0" format="ixt:num-dot-decimal" decimals="0">24,721,844</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Commitments and contingencies</p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<ix:nonFraction id="c101" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:CommitmentsAndContingencies" scale="0" xsi:nil="true"/>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<ix:nonFraction id="c102" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:CommitmentsAndContingencies" scale="0" xsi:nil="true"/>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 54pt;">Total liabilities and shareholders&#8217; equity</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c103" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="0" format="ixt:num-dot-decimal" decimals="0">39,884,904</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c104" contextRef="i_2023-10-31" unitRef="USD" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="0" format="ixt:num-dot-decimal" decimals="0">43,878,901</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
		</tr>

</tbody></table>
</div>

<p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">&#160;</p>

<table border="0" cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;margin-left:auto;margin-right:auto;">

		<tbody><tr>
			<td colspan="1" style="vertical-align:bottom;width:2.7%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">See accompanying condensed notes to condensed consolidated financial statements.</p>
			</td>
		</tr>

</tbody></table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGFTR" style="text-align: center; width: 100%">
<div class="hf-row">
<div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">2</div>
</div>
</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000"/>
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="hf-cell TOCLink" style="display: inline-block; text-align: left;"><a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">Table of Contents</a></div>
</div>
</div>
</div>

<div>&#160;</div>

<p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#160;</p>

<table border="0" cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;margin-left:auto;margin-right:auto;">

		<tbody><tr>
			<td colspan="1" style="vertical-align:bottom;width:96.7%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><a id="ops" title="ops" href="#"></a>OPTICAL CABLE CORPORATION</b></p>
			</td>
		</tr>
		<tr>
			<td colspan="1" style="vertical-align:bottom;width:2.1%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">Condensed Consolidated Statements of Operations</p>
			</td>
		</tr>
		<tr>
			<td colspan="1" style="vertical-align:bottom;width:2.1%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">(Unaudited)</p>
			</td>
		</tr>

</tbody></table>

<p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">&#160;</p>

<div>
<table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;">

		<tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Three Months Ended</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Six Months Ended</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>April 30, </b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>April 30,</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2024</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2024</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Net sales</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c107" contextRef="d_2024-02-01_2024-04-30" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="0" format="ixt:num-dot-decimal" decimals="0">16,112,098</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c108" contextRef="d_2023-02-01_2023-04-30" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="0" format="ixt:num-dot-decimal" decimals="0">19,619,536</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c109" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="0" format="ixt:num-dot-decimal" decimals="0">30,966,863</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c110" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="0" format="ixt:num-dot-decimal" decimals="0">37,903,211</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Cost of goods sold</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c111" contextRef="d_2024-02-01_2024-04-30" unitRef="USD" name="us-gaap:CostOfGoodsAndServicesSold" scale="0" format="ixt:num-dot-decimal" decimals="0">12,073,462</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c112" contextRef="d_2023-02-01_2023-04-30" unitRef="USD" name="us-gaap:CostOfGoodsAndServicesSold" scale="0" format="ixt:num-dot-decimal" decimals="0">12,836,830</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c113" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:CostOfGoodsAndServicesSold" scale="0" format="ixt:num-dot-decimal" decimals="0">23,214,705</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c114" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:CostOfGoodsAndServicesSold" scale="0" format="ixt:num-dot-decimal" decimals="0">24,599,296</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 45pt;">Gross profit</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c115" contextRef="d_2024-02-01_2024-04-30" unitRef="USD" name="us-gaap:GrossProfit" scale="0" format="ixt:num-dot-decimal" decimals="0">4,038,636</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c116" contextRef="d_2023-02-01_2023-04-30" unitRef="USD" name="us-gaap:GrossProfit" scale="0" format="ixt:num-dot-decimal" decimals="0">6,782,706</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c117" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:GrossProfit" scale="0" format="ixt:num-dot-decimal" decimals="0">7,752,158</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c118" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:GrossProfit" scale="0" format="ixt:num-dot-decimal" decimals="0">13,303,915</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Selling, general and administrative expenses</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c119" contextRef="d_2024-02-01_2024-04-30" unitRef="USD" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="0" format="ixt:num-dot-decimal" decimals="0">5,319,580</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c120" contextRef="d_2023-02-01_2023-04-30" unitRef="USD" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="0" format="ixt:num-dot-decimal" decimals="0">5,662,339</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c121" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="0" format="ixt:num-dot-decimal" decimals="0">10,412,685</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c122" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="0" format="ixt:num-dot-decimal" decimals="0">11,117,805</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Royalty expense, net</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c123" contextRef="d_2024-02-01_2024-04-30" unitRef="USD" name="occ:RoyaltyRevenueExpense" scale="0" format="ixt:num-dot-decimal" decimals="0" sign="-">6,677</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c124" contextRef="d_2023-02-01_2023-04-30" unitRef="USD" name="occ:RoyaltyRevenueExpense" scale="0" format="ixt:num-dot-decimal" decimals="0" sign="-">6,572</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c125" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="occ:RoyaltyRevenueExpense" scale="0" format="ixt:num-dot-decimal" decimals="0" sign="-">13,263</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c126" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="occ:RoyaltyRevenueExpense" scale="0" format="ixt:num-dot-decimal" decimals="0" sign="-">13,158</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Amortization of intangible assets</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c127" contextRef="d_2024-02-01_2024-04-30" unitRef="USD" name="us-gaap:AmortizationOfIntangibleAssets" scale="0" format="ixt:num-dot-decimal" decimals="0">13,516</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c128" contextRef="d_2023-02-01_2023-04-30" unitRef="USD" name="us-gaap:AmortizationOfIntangibleAssets" scale="0" format="ixt:num-dot-decimal" decimals="0">13,689</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c129" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:AmortizationOfIntangibleAssets" scale="0" format="ixt:num-dot-decimal" decimals="0">27,032</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c130" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:AmortizationOfIntangibleAssets" scale="0" format="ixt:num-dot-decimal" decimals="0">26,910</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 45pt;">Income (loss) from operations</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c131" contextRef="d_2024-02-01_2024-04-30" unitRef="USD" name="us-gaap:OperatingIncomeLoss" scale="0" format="ixt:num-dot-decimal" decimals="0" sign="-">1,301,137</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c132" contextRef="d_2023-02-01_2023-04-30" unitRef="USD" name="us-gaap:OperatingIncomeLoss" scale="0" format="ixt:num-dot-decimal" decimals="0">1,100,106</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c133" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:OperatingIncomeLoss" scale="0" format="ixt:num-dot-decimal" decimals="0" sign="-">2,700,822</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c134" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:OperatingIncomeLoss" scale="0" format="ixt:num-dot-decimal" decimals="0">2,146,042</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Other income (expense), net:</p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Interest expense, net</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c136" contextRef="d_2024-02-01_2024-04-30" unitRef="USD" name="us-gaap:InterestExpense" scale="0" format="ixt:num-dot-decimal" decimals="0">280,618</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c137" contextRef="d_2023-02-01_2023-04-30" unitRef="USD" name="us-gaap:InterestExpense" scale="0" format="ixt:num-dot-decimal" decimals="0">286,065</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c138" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:InterestExpense" scale="0" format="ixt:num-dot-decimal" decimals="0">579,228</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c139" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:InterestExpense" scale="0" format="ixt:num-dot-decimal" decimals="0">556,688</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Gain on insurance proceeds, net</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c140" contextRef="d_2024-02-01_2024-04-30" unitRef="USD" name="us-gaap:UnusualOrInfrequentItemInsuranceProceeds" scale="0" format="ixt:fixed-zero" decimals="-3">&#8212;</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c141" contextRef="d_2023-02-01_2023-04-30" unitRef="USD" name="us-gaap:UnusualOrInfrequentItemInsuranceProceeds" scale="0" format="ixt:num-dot-decimal" decimals="0">1,696,290</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c142" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:UnusualOrInfrequentItemInsuranceProceeds" scale="0" format="ixt:num-dot-decimal" decimals="0">218,902</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c143" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:UnusualOrInfrequentItemInsuranceProceeds" scale="0" format="ixt:num-dot-decimal" decimals="0">1,696,290</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Other, net</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c144" contextRef="d_2024-02-01_2024-04-30" unitRef="USD" name="us-gaap:OtherNonoperatingIncomeExpense" scale="0" format="ixt:num-dot-decimal" decimals="0" sign="-">12,364</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c145" contextRef="d_2023-02-01_2023-04-30" unitRef="USD" name="us-gaap:OtherNonoperatingIncomeExpense" scale="0" format="ixt:num-dot-decimal" decimals="0" sign="-">12,311</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c146" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:OtherNonoperatingIncomeExpense" scale="0" format="ixt:num-dot-decimal" decimals="0">48,834</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c147" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:OtherNonoperatingIncomeExpense" scale="0" format="ixt:num-dot-decimal" decimals="0">54,824</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 45pt;">Other income (expense), net</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c148" contextRef="d_2024-02-01_2024-04-30" unitRef="USD" name="us-gaap:NonoperatingIncomeExpense" scale="0" format="ixt:num-dot-decimal" decimals="0" sign="-">292,982</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c149" contextRef="d_2023-02-01_2023-04-30" unitRef="USD" name="us-gaap:NonoperatingIncomeExpense" scale="0" format="ixt:num-dot-decimal" decimals="0">1,397,914</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c150" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:NonoperatingIncomeExpense" scale="0" format="ixt:num-dot-decimal" decimals="0" sign="-">311,492</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c151" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:NonoperatingIncomeExpense" scale="0" format="ixt:num-dot-decimal" decimals="0">1,194,426</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 45pt;">Income (loss) before income taxes</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c152" contextRef="d_2024-02-01_2024-04-30" unitRef="USD" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="0" format="ixt:num-dot-decimal" decimals="0" sign="-">1,594,119</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c153" contextRef="d_2023-02-01_2023-04-30" unitRef="USD" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="0" format="ixt:num-dot-decimal" decimals="0">2,498,020</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c154" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="0" format="ixt:num-dot-decimal" decimals="0" sign="-">3,012,314</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c155" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="0" format="ixt:num-dot-decimal" decimals="0">3,340,468</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Income tax expense</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c156" contextRef="d_2024-02-01_2024-04-30" unitRef="USD" name="us-gaap:IncomeTaxExpenseBenefit" scale="0" format="ixt:num-dot-decimal" decimals="0">7,227</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c157" contextRef="d_2023-02-01_2023-04-30" unitRef="USD" name="us-gaap:IncomeTaxExpenseBenefit" scale="0" format="ixt:num-dot-decimal" decimals="0">74,933</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c158" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:IncomeTaxExpenseBenefit" scale="0" format="ixt:num-dot-decimal" decimals="0">14,306</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c159" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:IncomeTaxExpenseBenefit" scale="0" format="ixt:num-dot-decimal" decimals="0">107,397</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 45pt;">Net income (loss)</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c160" contextRef="d_2024-02-01_2024-04-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="0" format="ixt:num-dot-decimal" decimals="0" sign="-">1,601,346</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c161" contextRef="d_2023-02-01_2023-04-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="0" format="ixt:num-dot-decimal" decimals="0">2,423,087</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c162" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="0" format="ixt:num-dot-decimal" decimals="0" sign="-">3,026,620</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c163" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="0" format="ixt:num-dot-decimal" decimals="0">3,233,071</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Net income (loss) per share: Basic and diluted</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c164" contextRef="d_2024-02-01_2024-04-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareBasic" scale="0" format="ixt:num-dot-decimal" decimals="INF" sign="-">0.21</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c165" contextRef="d_2023-02-01_2023-04-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareBasic" scale="0" format="ixt:num-dot-decimal" decimals="INF">0.31</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c166" contextRef="d_2023-11-01_2024-04-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareBasic" scale="0" format="ixt:num-dot-decimal" decimals="INF" sign="-">0.39</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c167" contextRef="d_2022-11-01_2023-04-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareBasic" scale="0" format="ixt:num-dot-decimal" decimals="INF">0.41</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
		</tr>

</tbody></table>
</div>

<p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">&#160;</p>

<table border="0" cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;margin-left:auto;margin-right:auto;">

		<tbody><tr>
			<td colspan="1" style="vertical-align:bottom;width:2.1%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">See accompanying condensed notes to condensed consolidated financial statements.</p>
			</td>
		</tr>

</tbody></table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGFTR" style="text-align: center; width: 100%">
<div class="hf-row">
<div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">3</div>
</div>
</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000"/>
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="hf-cell TOCLink" style="display: inline-block; text-align: left;"><a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">Table of Contents</a></div>
</div>
</div>
</div>

<div>&#160;</div>

<p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#160;</p>

<table border="0" cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:98%;margin-left:auto;margin-right:auto;">

		<tbody><tr>
			<td colspan="1" style="vertical-align:bottom;width:82.7%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><a id="equity" title="equity" href="#"></a>OPTICAL CABLE CORPORATION</b></p>
			</td>
		</tr>
		<tr>
			<td colspan="1" style="vertical-align:bottom;width:2.9%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">Condensed Consolidated Statements of Shareholders&#8217;&#160;Equity</p>
			</td>
		</tr>
		<tr>
			<td colspan="1" style="vertical-align:bottom;width:2.9%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">(Unaudited)</p>
			</td>
		</tr>

</tbody></table>

<p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">&#160;</p>

<div>
<table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;">

		<tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="14" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Six Months Ended April 30, 2024</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td>
			<td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td>
			<td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td>
			<td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Total</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Common Stock</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Retained</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Shareholders&#8217;</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Shares</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Amount</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Earnings</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Equity</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 44%;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Balances at October 31, 2023</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c170" contextRef="i_2023-10-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="0" format="ixt:num-dot-decimal" decimals="INF">7,893,681</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c171" contextRef="i_2023-10-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="0" format="ixt:num-dot-decimal" decimals="0">15,134,133</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c172" contextRef="i_2023-10-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="0" format="ixt:num-dot-decimal" decimals="0">9,587,711</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c173" contextRef="i_2023-10-31" unitRef="USD" name="us-gaap:StockholdersEquity" scale="0" format="ixt:num-dot-decimal" decimals="0">24,721,844</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Share-based compensation, net</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c174" contextRef="d_2023-11-01_2024-01-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation" scale="0" format="ixt:num-dot-decimal" decimals="INF">40,324</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c175" contextRef="d_2023-11-01_2024-01-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="0" format="ixt:num-dot-decimal" decimals="0">51,490</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 11%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">&#8212;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c177" contextRef="d_2023-11-01_2024-01-31" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="0" format="ixt:num-dot-decimal" decimals="0">51,490</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Net loss</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 11%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">&#8212;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 11%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c178" contextRef="d_2023-11-01_2024-01-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="0" format="ixt:fixed-zero" decimals="-3">&#8212;</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c179" contextRef="d_2023-11-01_2024-01-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="0" format="ixt:num-dot-decimal" decimals="0" sign="-">1,425,274</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c180" contextRef="d_2023-11-01_2024-01-31" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="0" format="ixt:num-dot-decimal" decimals="0" sign="-">1,425,274</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Balances at January 31, 2024</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c181" contextRef="i_2024-01-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="0" format="ixt:num-dot-decimal" decimals="INF">7,853,357</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td>
			<td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c182" contextRef="i_2024-01-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="0" format="ixt:num-dot-decimal" decimals="0">15,185,623</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td>
			<td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c183" contextRef="i_2024-01-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="0" format="ixt:num-dot-decimal" decimals="0">8,162,437</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td>
			<td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c184" contextRef="i_2024-01-31" unitRef="USD" name="us-gaap:StockholdersEquity" scale="0" format="ixt:num-dot-decimal" decimals="0">23,348,060</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Share-based compensation, net</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c185" contextRef="d_2024-02-01_2024-04-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation" scale="0" format="ixt:num-dot-decimal" decimals="INF">842</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c186" contextRef="d_2024-02-01_2024-04-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="0" format="ixt:num-dot-decimal" decimals="0">91,641</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 11%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">&#8212;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c188" contextRef="d_2024-02-01_2024-04-30" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="0" format="ixt:num-dot-decimal" decimals="0">91,641</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Net loss</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 11%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">&#8212;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 11%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c189" contextRef="d_2024-02-01_2024-04-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="0" format="ixt:fixed-zero" decimals="-3">&#8212;</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c190" contextRef="d_2024-02-01_2024-04-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="0" format="ixt:num-dot-decimal" decimals="0" sign="-">1,601,346</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c191" contextRef="d_2024-02-01_2024-04-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="0" format="ixt:num-dot-decimal" decimals="0" sign="-">1,601,346</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Balances at April 30, 2024</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
			<td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c192" contextRef="i_2024-04-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="0" format="ixt:num-dot-decimal" decimals="INF">7,852,515</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c193" contextRef="i_2024-04-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="0" format="ixt:num-dot-decimal" decimals="0">15,277,264</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c194" contextRef="i_2024-04-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="0" format="ixt:num-dot-decimal" decimals="0">6,561,091</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c195" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:StockholdersEquity" scale="0" format="ixt:num-dot-decimal" decimals="0">21,838,355</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
		</tr>

</tbody></table>
</div>

<p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">&#160;</p>

<div>
<table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;">

		<tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="14" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Six Months Ended April 30, 2023</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td>
			<td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td>
			<td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td>
			<td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Total</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Common Stock</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Retained</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Shareholders&#8217;</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Shares</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Amount</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Earnings</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Equity</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 44%;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Balances at October 31, 2022</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c198" contextRef="i_2022-10-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="0" format="ixt:num-dot-decimal" decimals="INF">7,893,194</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c199" contextRef="i_2022-10-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="0" format="ixt:num-dot-decimal" decimals="0">14,638,505</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c200" contextRef="i_2022-10-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="0" format="ixt:num-dot-decimal" decimals="0">7,521,213</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c201" contextRef="i_2022-10-31" unitRef="USD" name="us-gaap:StockholdersEquity" scale="0" format="ixt:num-dot-decimal" decimals="0">22,159,718</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Share-based compensation, net</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c202" contextRef="d_2022-11-01_2023-01-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation" scale="0" format="ixt:num-dot-decimal" decimals="INF">24,626</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c203" contextRef="d_2022-11-01_2023-01-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="0" format="ixt:num-dot-decimal" decimals="0">34,322</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 11%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">&#8212;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c205" contextRef="d_2022-11-01_2023-01-31" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="0" format="ixt:num-dot-decimal" decimals="0">34,322</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Net income</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 11%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">&#8212;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 11%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c206" contextRef="d_2022-11-01_2023-01-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="0" format="ixt:fixed-zero" decimals="-3">&#8212;</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c207" contextRef="d_2022-11-01_2023-01-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="0" format="ixt:num-dot-decimal" decimals="0">809,984</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c208" contextRef="d_2022-11-01_2023-01-31" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="0" format="ixt:num-dot-decimal" decimals="0">809,984</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Balances at January 31, 2023</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c209" contextRef="i_2023-01-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="0" format="ixt:num-dot-decimal" decimals="INF">7,868,568</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td>
			<td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c210" contextRef="i_2023-01-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="0" format="ixt:num-dot-decimal" decimals="0">14,672,827</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td>
			<td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c211" contextRef="i_2023-01-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="0" format="ixt:num-dot-decimal" decimals="0">8,331,197</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td>
			<td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c212" contextRef="i_2023-01-31" unitRef="USD" name="us-gaap:StockholdersEquity" scale="0" format="ixt:num-dot-decimal" decimals="0">23,004,024</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Share-based compensation, net</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c213" contextRef="d_2023-02-01_2023-04-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation" scale="0" format="ixt:num-dot-decimal" decimals="INF">3,447</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c214" contextRef="d_2023-02-01_2023-04-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="0" format="ixt:num-dot-decimal" decimals="0">139,507</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 11%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">&#8212;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c216" contextRef="d_2023-02-01_2023-04-30" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="0" format="ixt:num-dot-decimal" decimals="0">139,507</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Net income</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 11%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">&#8212;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 11%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c217" contextRef="d_2023-02-01_2023-04-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="0" format="ixt:fixed-zero" decimals="-3">&#8212;</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c218" contextRef="d_2023-02-01_2023-04-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="0" format="ixt:num-dot-decimal" decimals="0">2,423,087</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c219" contextRef="d_2023-02-01_2023-04-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="0" format="ixt:num-dot-decimal" decimals="0">2,423,087</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Balances at April 30, 2023</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
			<td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c220" contextRef="i_2023-04-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="0" format="ixt:num-dot-decimal" decimals="INF">7,865,121</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c221" contextRef="i_2023-04-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="0" format="ixt:num-dot-decimal" decimals="0">14,812,334</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c222" contextRef="i_2023-04-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="0" format="ixt:num-dot-decimal" decimals="0">10,754,284</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 11%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c223" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:StockholdersEquity" scale="0" format="ixt:num-dot-decimal" decimals="0">25,566,618</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
		</tr>

</tbody></table>
</div>

<p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">&#160;</p>

<table border="0" cellpadding="0" cellspacing="0" style="font-family: Times New Roman; font-size: 10pt; width: 100%;">

		<tbody><tr>
			<td colspan="1" style="vertical-align:bottom;width:2.9%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">See accompanying condensed notes to condensed consolidated financial statements.</p>
			</td>
		</tr>

</tbody></table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGFTR" style="text-align: center; width: 100%">
<div class="hf-row">
<div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">4</div>
</div>
</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000"/>
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="hf-cell TOCLink" style="display: inline-block; text-align: left;"><a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">Table of Contents</a></div>
</div>
</div>
</div>

<div>&#160;</div>

<p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#160;</p>

<table border="0" cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;margin-left:auto;margin-right:auto;">

		<tbody><tr>
			<td colspan="1" style="vertical-align:bottom;width:98.7%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><a id="cf" title="cf" href="#"></a>OPTICAL CABLE CORPORATION</b></p>
			</td>
		</tr>
		<tr>
			<td colspan="1" style="vertical-align:bottom;width:2.8%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">Condensed Consolidated Statements of Cash Flows</p>
			</td>
		</tr>
		<tr>
			<td colspan="1" style="vertical-align:bottom;width:2.8%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">(Unaudited)</p>
			</td>
		</tr>

</tbody></table>

<p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">&#160;</p>

<div>
<table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;">

		<tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Six Months Ended</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>April 30,</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2024</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Cash flows from operating activities:</p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Net income (loss)</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c227" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="0" format="ixt:num-dot-decimal" decimals="0" sign="-">3,026,620</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c228" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="0" format="ixt:num-dot-decimal" decimals="0">3,233,071</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Adjustments to reconcile net income (loss) to net cash provided by (used in) operating activities:</p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt;">Depreciation and amortization</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c230" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:DepreciationDepletionAndAmortization" scale="0" format="ixt:num-dot-decimal" decimals="0">431,414</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c231" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:DepreciationDepletionAndAmortization" scale="0" format="ixt:num-dot-decimal" decimals="0">496,661</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt;">Bad debt expense (recovery)</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c232" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:ProvisionForDoubtfulAccounts" scale="0" format="ixt:num-dot-decimal" decimals="0" sign="-">16,928</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c233" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:ProvisionForDoubtfulAccounts" scale="0" format="ixt:num-dot-decimal" decimals="0">14,959</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt;">Share-based compensation expense</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c234" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:ShareBasedCompensation" scale="0" format="ixt:num-dot-decimal" decimals="0">250,792</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c235" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:ShareBasedCompensation" scale="0" format="ixt:num-dot-decimal" decimals="0">289,680</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt;">Gain on insurance proceeds, net</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c236" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:UnusualOrInfrequentItemInsuranceProceeds" scale="0" format="ixt:num-dot-decimal" decimals="0">218,902</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c237" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:UnusualOrInfrequentItemInsuranceProceeds" scale="0" format="ixt:num-dot-decimal" decimals="0">1,696,290</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt;">Loss on disposal of property and equipment</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c238" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" scale="0" format="ixt:num-dot-decimal" decimals="0" sign="-">796</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c239" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" scale="0" format="ixt:num-dot-decimal" decimals="0" sign="-">10,307</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt;">(Increase) decrease in:</p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 36pt;">Trade accounts receivable</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c241" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="0" format="ixt:num-dot-decimal" decimals="0" sign="-">446,843</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c242" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="0" format="ixt:num-dot-decimal" decimals="0">357,932</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 36pt;">Other receivables</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c243" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInOtherReceivables" scale="0" format="ixt:num-dot-decimal" decimals="0" sign="-">384,530</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c244" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInOtherReceivables" scale="0" format="ixt:num-dot-decimal" decimals="0">35,867</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 36pt;">Inventories</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c245" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInInventories" scale="0" format="ixt:num-dot-decimal" decimals="0" sign="-">2,279,950</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c246" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInInventories" scale="0" format="ixt:num-dot-decimal" decimals="0">3,661,198</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 36pt;">Prepaid expenses and other assets</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c247" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="0" format="ixt:num-dot-decimal" decimals="0" sign="-">111,560</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c248" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="0" format="ixt:num-dot-decimal" decimals="0" sign="-">80,602</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 36pt;">Other assets</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c249" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" scale="0" format="ixt:num-dot-decimal" decimals="0" sign="-">201,924</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c250" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" scale="0" format="ixt:num-dot-decimal" decimals="0">103,560</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt;">Increase (decrease) in:</p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 36pt;">Accounts payable and accrued expenses</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c252" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" scale="0" format="ixt:num-dot-decimal" decimals="0" sign="-">436,535</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c253" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" scale="0" format="ixt:num-dot-decimal" decimals="0" sign="-">102,154</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 36pt;">Accrued compensation and payroll taxes</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c254" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities" scale="0" format="ixt:num-dot-decimal" decimals="0" sign="-">202,007</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c255" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities" scale="0" format="ixt:num-dot-decimal" decimals="0">218,168</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 36pt;">Income taxes payable</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c256" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable" scale="0" format="ixt:num-dot-decimal" decimals="0">12,023</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c257" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable" scale="0" format="ixt:num-dot-decimal" decimals="0">55,329</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 36pt;">Other noncurrent liabilities</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c258" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities" scale="0" format="ixt:num-dot-decimal" decimals="0" sign="-">106,235</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c259" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities" scale="0" format="ixt:num-dot-decimal" decimals="0">65,078</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 45pt;">Net cash provided by (used in) operating activities</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c260" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="0" format="ixt:num-dot-decimal" decimals="0">112,605</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c261" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="0" format="ixt:num-dot-decimal" decimals="0" sign="-">1,493,146</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Cash flows from investing activities:</p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Purchase of and deposits for the purchase of property and equipment</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c263" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="0" format="ixt:num-dot-decimal" decimals="0">235,823</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c264" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="0" format="ixt:num-dot-decimal" decimals="0">230,252</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Insurance proceeds, net</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c265" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:ProceedsFromInsuranceSettlementInvestingActivities" scale="0" format="ixt:num-dot-decimal" decimals="0">218,902</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c266" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:ProceedsFromInsuranceSettlementInvestingActivities" scale="0" format="ixt:num-dot-decimal" decimals="0">1,696,290</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Investment in intangible assets</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 12%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c267" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:PaymentsToAcquireIntangibleAssets" scale="0" format="ixt:fixed-zero" decimals="-3" sign="-">&#8212;</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c268" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:PaymentsToAcquireIntangibleAssets" scale="0" format="ixt:num-dot-decimal" decimals="0">1,997</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 45pt;">Net cash provided by (used in) investing activities</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c269" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" scale="0" format="ixt:num-dot-decimal" decimals="0" sign="-">16,921</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c270" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" scale="0" format="ixt:num-dot-decimal" decimals="0">1,464,041</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Cash flows from financing activities:</p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Payroll taxes withheld and remitted on share-based payments</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c272" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" scale="0" format="ixt:num-dot-decimal" decimals="0">107,661</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c273" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" scale="0" format="ixt:num-dot-decimal" decimals="0">115,851</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Proceeds from note payable, revolver</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c274" contextRef="d_2023-11-01_2024-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember" unitRef="USD" name="us-gaap:ProceedsFromNotesPayable" scale="0" format="ixt:num-dot-decimal" decimals="0">31,812,257</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c275" contextRef="d_2022-11-01_2023-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember" unitRef="USD" name="us-gaap:ProceedsFromNotesPayable" scale="0" format="ixt:num-dot-decimal" decimals="0">41,292,679</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Payments on note payable, revolver</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c276" contextRef="d_2023-11-01_2024-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember" unitRef="USD" name="us-gaap:RepaymentsOfNotesPayable" scale="0" format="ixt:num-dot-decimal" decimals="0">32,089,800</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c277" contextRef="d_2022-11-01_2023-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember" unitRef="USD" name="us-gaap:RepaymentsOfNotesPayable" scale="0" format="ixt:num-dot-decimal" decimals="0">39,285,532</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Principal payments on long-term debt</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c278" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:RepaymentsOfLongTermDebt" scale="0" format="ixt:num-dot-decimal" decimals="0">20,770</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c279" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:RepaymentsOfLongTermDebt" scale="0" format="ixt:num-dot-decimal" decimals="0">167,596</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Payments for financing costs</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c280" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:PaymentsOfFinancingCosts" scale="0" format="ixt:num-dot-decimal" decimals="0">50,000</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c281" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:PaymentsOfFinancingCosts" scale="0" format="ixt:num-dot-decimal" decimals="0">50,000</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Principal payments on finance lease</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c282" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:FinanceLeasePrincipalPayments" scale="0" format="ixt:num-dot-decimal" decimals="0">18,507</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c283" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:FinanceLeasePrincipalPayments" scale="0" format="ixt:num-dot-decimal" decimals="0">17,652</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 45pt;">Net cash provided by (used in) financing activities</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c284" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="0" format="ixt:num-dot-decimal" decimals="0" sign="-">474,481</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c285" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="0" format="ixt:num-dot-decimal" decimals="0">1,656,048</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Net increase (decrease) in cash</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c286" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" scale="0" format="ixt:num-dot-decimal" decimals="0" sign="-">378,797</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c287" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" scale="0" format="ixt:num-dot-decimal" decimals="0">1,626,943</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Cash at beginning of period</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c288" contextRef="i_2023-10-31" unitRef="USD" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" scale="0" format="ixt:num-dot-decimal" decimals="0">1,468,709</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c289" contextRef="i_2022-10-31" unitRef="USD" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" scale="0" format="ixt:num-dot-decimal" decimals="0">215,936</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Cash at end of period</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c290" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" scale="0" format="ixt:num-dot-decimal" decimals="0">1,089,912</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c291" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" scale="0" format="ixt:num-dot-decimal" decimals="0">1,842,879</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
		</tr>

</tbody></table>
</div>

<p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">&#160;</p>

<table border="0" cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;margin-left:auto;margin-right:auto;">

		<tbody><tr>
			<td colspan="1" style="vertical-align:bottom;width:2.8%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">See accompanying condensed notes to condensed consolidated financial statements.</p>
			</td>
		</tr>

</tbody></table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGFTR" style="text-align: center; width: 100%">
<div class="hf-row">
<div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">5</div>
</div>
</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000"/>
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="hf-cell TOCLink" style="display: inline-block; text-align: left;"><a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">Table of Contents</a></div>
</div>
</div>
</div>

<p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#160;</p>

<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b><a id="notes" title="notes" href="#"></a>OPTICAL CABLE CORPORATION</b></p>

<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Condensed Notes to Condensed Consolidated Financial Statements</p>

<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Six Months Ended April 30, 2024</p>

<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">(Unaudited)</p>

<p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#160;</p>

<div>&#160;</div>

<ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" id="c292" escape="true">
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tbody><tr style="vertical-align: top;">
			<td style="width: 27pt;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>(1)</b></p>
			</td>
			<td style="width: auto;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>General</b></p>
			</td>
		</tr>

</tbody></table>

<p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The accompanying unaudited condensed consolidated financial statements of Optical Cable Corporation and its subsidiaries (collectively, the &#8220;Company&#8221; or &#8220;OCC<sup style="vertical-align:top;line-height:120%;">&#174;</sup>&#8221;) have been prepared in accordance with U.S. generally accepted accounting principles for interim financial information and the instructions to Form 10&#8209;Q and Regulation S&#8209;X. Accordingly, they do not include all of the information and notes required by U.S. generally accepted accounting principles for complete financial statements. In the opinion of management, all material adjustments considered necessary for a fair presentation have been included. Operating results for the six months ended April 30, 2024 are not necessarily indicative of the results for the fiscal year ending October 31, 2024 because the following items, among other things, may impact those results: changing macroeconomic conditions in various markets, supply chain and labor constraints impacting production volumes, any increased costs related to government and private industry mandates in the areas of the world in which we operate, changes in market conditions, seasonality, inflation and interest rates, changes in technology, competitive conditions, timing of certain projects and purchases by key customers, significant variations in sales resulting from high volatility and timing of large sales orders among a limited number of customers in certain markets, ability of management to execute its business plans, continued ability to maintain and/or secure future debt and/or equity financing to adequately finance ongoing operations; as well as other variables, uncertainties, contingencies and risks set forth as risks in the Company&#8217;s Annual Report on Form 10&#8209;K for the fiscal year ended October 31, 2023 (including those set forth in the &#8220;Forward-Looking Information&#8221; section), or as otherwise set forth in other filings by the Company as variables, contingencies and/or risks possibly affecting future results. The unaudited condensed consolidated financial statements and condensed notes are presented as permitted by Form 10&#8209;Q and do not contain certain information included in the Company&#8217;s annual consolidated financial statements and notes. For further information, refer to the consolidated financial statements and notes thereto included in the Company&#8217;s Annual Report on Form 10&#8209;K for the fiscal year ended October 31, 2023.</p>
</ix:nonNumeric>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<div>&#160;</div>

<ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" id="c294" escape="true">
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tbody><tr style="vertical-align: top;">
			<td style="width: 27pt;">
			<p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(2)</b></p>
			</td>
			<td style="width: auto;">
			<p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>Stock Incentive Plan and Other Share</b>&#8209;<b>Based Compensation</b></p>
			</td>
		</tr>

</tbody></table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">As of April 30, 2024, there were approximately <ix:nonFraction id="c296" contextRef="i_2024-04-30_PlanNameAxis-Plan2017Member" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" scale="0" format="ixt:num-dot-decimal" decimals="INF">397,000</ix:nonFraction> remaining shares available for grant under the Optical Cable Corporation Stock Incentive Plan (&#8220;2017 Plan&#8221;).</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">Share-based compensation expense for employees, a consultant and non-employee Directors recognized in the condensed consolidated statements of operations for the three months and six months ended April 30, 2024 was $<ix:nonFraction id="c297" contextRef="d_2024-02-01_2024-04-30_PlanNameAxis-Plan2017Member_TitleOfIndividualAxis-EmployeesConsultantAndNonemployeeDirectorsMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="0" format="ixt:num-dot-decimal" decimals="0">91,641</ix:nonFraction> and $<ix:nonFraction id="c298" contextRef="d_2023-11-01_2024-04-30_PlanNameAxis-Plan2017Member_TitleOfIndividualAxis-EmployeesConsultantAndNonemployeeDirectorsMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="0" format="ixt:num-dot-decimal" decimals="0">250,792</ix:nonFraction>, respectively. Share-based compensation expense for employees, a consultant and non-employee Directors recognized in the condensed consolidated statements of operations for the three months and six months ended April 30, 2023 was $<ix:nonFraction id="c299" contextRef="d_2023-02-01_2023-04-30_PlanNameAxis-Plan2017Member_TitleOfIndividualAxis-EmployeesConsultantAndNonemployeeDirectorsMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="0" format="ixt:num-dot-decimal" decimals="0">154,639</ix:nonFraction> and $<ix:nonFraction id="c300" contextRef="d_2022-11-01_2023-04-30_PlanNameAxis-Plan2017Member_TitleOfIndividualAxis-EmployeesConsultantAndNonemployeeDirectorsMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="0" format="ixt:num-dot-decimal" decimals="0">289,680</ix:nonFraction>, respectively. Share-based compensation expense is entirely related to expense recognized in connection with the vesting of restricted stock awards or other stock awards.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 27pt;"><i>Stock Compensation</i></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Company has granted, and anticipates granting from time to time, restricted stock awards subject to approval by the Compensation Committee of the Board of Directors. Since fiscal year 2004, the Company has exclusively used restricted stock awards for all share-based compensation of employees and consultants, and restricted stock awards or stock awards to non-employee members of the Board of Directors.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<ix:exclude><div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGFTR" style="text-align: center; width: 100%">
<div class="hf-row">
<div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">6</div>
</div>
</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000"/>
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="hf-cell TOCLink" style="display: inline-block; text-align: left;"><a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">Table of Contents</a></div>
</div>
</div>
</div></ix:exclude>

<ix:exclude><p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#160;</p></ix:exclude>

<ix:exclude><p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>OPTICAL CABLE CORPORATION</b></p></ix:exclude>

<ix:exclude><p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Condensed Notes to Condensed Consolidated Financial Statements</p></ix:exclude>

<ix:exclude><p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Six Months Ended April 30, 2024</p></ix:exclude>

<ix:exclude><p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">(Unaudited)</p></ix:exclude>

<ix:exclude><p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#160;</p></ix:exclude>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">Restricted stock award activity during the six months ended April 30, 2024 consisted of restricted shares forfeited totaling <ix:nonFraction id="c301" contextRef="d_2023-11-01_2024-04-30_AwardTypeAxis-RestrictedStockMember" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" scale="0" format="ixt:num-dot-decimal" decimals="INF">842</ix:nonFraction> shares and restricted shares withheld for taxes in connection with the vesting of restricted shares totaling <ix:nonFraction id="c302" contextRef="d_2023-11-01_2024-04-30_AwardTypeAxis-RestrictedStockMember" unitRef="Share" name="us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation" scale="0" format="ixt:num-dot-decimal" decimals="INF">40,324</ix:nonFraction> shares. OCC restricted stock grants provide the participant with the option to surrender shares to pay for withholding tax obligations resulting from any vesting restricted shares, or to pay cash to the Company or taxing authorities in the amount of the withholding taxes owed on the value of any vesting restricted shares in order to avoid surrendering shares.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">As of April 30, 2024, the estimated amount of compensation cost related to unvested equity-based compensation awards in the form of service-based and operational performance-based shares that the Company will recognize over a <ix:nonNumeric contextRef="d_2023-11-01_2024-04-30_AwardTypeAxis-RestrictedStockMember" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" id="c303" format="ixt-sec:duryear">1</ix:nonNumeric> year weighted-average period is approximately $<ix:nonFraction id="c304" contextRef="i_2024-04-30_AwardTypeAxis-RestrictedStockMember" unitRef="USD" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" scale="0" format="ixt:num-dot-decimal" decimals="0">262,000</ix:nonFraction>.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">On May 17, 2024, subsequent to the Company&#8217;s fiscal quarter end, the Company granted restricted stock awards totaling <ix:nonFraction id="c305" contextRef="d_2024-05-17_2024-05-17_AwardTypeAxis-RestrictedStockMember_PlanNameAxis-Plan2017Member_SubsequentEventTypeAxis-SubsequentEventMember" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" format="ixt:num-dot-decimal" decimals="INF">39,960</ix:nonFraction> shares to non-employee Directors under the 2017 Plan. The shares are subject to a one-year vesting period and are part of the non-employee Directors&#8217; annual compensation for service on the Board of Directors.</p>
</ix:nonNumeric>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<div>&#160;</div>

<ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="occ:AllowanceForDoubtfulAccountsForTradeAccountsReceivableDisclosureTextBlock" id="c306" escape="true">
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tbody><tr style="vertical-align: top;">
			<td style="width: 27pt;">
			<p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(3)</b></p>
			</td>
			<td style="width: auto;">
			<p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>Allowance for Credit Losses for Trade Accounts Receivable</b></p>
			</td>
		</tr>

</tbody></table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;">A summary of changes in the allowance for credit losses for trade accounts receivable for the six months ended April 30, 2024 and 2023 follows:</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;">&#160;</p>

<ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="occ:SummaryOfChangesInAllowanceForDoubtfulAccountsForTradeAccountsReceivableTableTextBlock" id="c314" escape="true">
<table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 27pt;">

		<tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Six Months Ended </b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>April 30,</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2024</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Balance at beginning of period</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c316" contextRef="i_2023-10-31" unitRef="USD" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="0" format="ixt:num-dot-decimal" decimals="0">71,189</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c317" contextRef="i_2022-10-31" unitRef="USD" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="0" format="ixt:num-dot-decimal" decimals="0">69,643</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Bad debt expense (recovery)</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c318" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:ProvisionForDoubtfulAccounts" scale="0" format="ixt:num-dot-decimal" decimals="0" sign="-">16,928</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c319" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:ProvisionForDoubtfulAccounts" scale="0" format="ixt:num-dot-decimal" decimals="0">14,959</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Balance at end of period</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c320" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="0" format="ixt:num-dot-decimal" decimals="0">54,261</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c321" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="0" format="ixt:num-dot-decimal" decimals="0">84,602</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
		</tr>

</tbody></table>
</ix:nonNumeric>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
</ix:nonNumeric>

<div>&#160;</div>

<ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="us-gaap:InventoryDisclosureTextBlock" id="c322" escape="true">
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tbody><tr style="vertical-align: top;">
			<td style="width: 27pt;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>(4)</b></p>
			</td>
			<td style="width: auto;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Inventories</b></p>
			</td>
		</tr>

</tbody></table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">Inventories as of April 30, 2024 and October&#160;31, 2023 consist of the following:</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock" id="c334" escape="true">
<table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 27pt;">

		<tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>April 30,</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>October 31,</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2024</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Finished goods</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c336" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:InventoryFinishedGoodsNetOfReserves" scale="0" format="ixt:num-dot-decimal" decimals="0">5,646,852</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c337" contextRef="i_2023-10-31" unitRef="USD" name="us-gaap:InventoryFinishedGoodsNetOfReserves" scale="0" format="ixt:num-dot-decimal" decimals="0">5,937,682</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Work in process</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c338" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:InventoryWorkInProcessNetOfReserves" scale="0" format="ixt:num-dot-decimal" decimals="0">4,103,938</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c339" contextRef="i_2023-10-31" unitRef="USD" name="us-gaap:InventoryWorkInProcessNetOfReserves" scale="0" format="ixt:num-dot-decimal" decimals="0">4,372,913</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Raw materials</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c340" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:InventoryRawMaterialsNetOfReserves" scale="0" format="ixt:num-dot-decimal" decimals="0">11,345,172</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c341" contextRef="i_2023-10-31" unitRef="USD" name="us-gaap:InventoryRawMaterialsNetOfReserves" scale="0" format="ixt:num-dot-decimal" decimals="0">13,130,478</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Production supplies</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c342" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:InventorySuppliesNetOfReserves" scale="0" format="ixt:num-dot-decimal" decimals="0">390,414</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c343" contextRef="i_2023-10-31" unitRef="USD" name="us-gaap:InventorySuppliesNetOfReserves" scale="0" format="ixt:num-dot-decimal" decimals="0">325,253</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c344" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:InventoryNet" scale="0" format="ixt:num-dot-decimal" decimals="0">21,486,376</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c345" contextRef="i_2023-10-31" unitRef="USD" name="us-gaap:InventoryNet" scale="0" format="ixt:num-dot-decimal" decimals="0">23,766,326</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
		</tr>

</tbody></table>
</ix:nonNumeric>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
</ix:nonNumeric>

<div>&#160;</div>

<ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="us-gaap:ProductWarrantyDisclosureTextBlock" id="c346" escape="true">
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tbody><tr style="vertical-align: top;">
			<td style="width: 27pt;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>(5) </b></p>
			</td>
			<td style="width: auto;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Product Warranties</b></p>
			</td>
		</tr>

</tbody></table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">As of April 30, 2024 and October 31, 2023, the Company&#8217;s accrual for estimated product warranty claims totaled $<ix:nonFraction id="c348" contextRef="i_2024-04-30_BalanceSheetLocationAxis-AccountsPayableAndAccruedLiabilitiesMember" unitRef="USD" name="us-gaap:ProductWarrantyAccrual" scale="0" format="ixt:num-dot-decimal" decimals="0">75,000</ix:nonFraction> and $<ix:nonFraction id="c349" contextRef="i_2023-10-31_BalanceSheetLocationAxis-AccountsPayableAndAccruedLiabilitiesMember" unitRef="USD" name="us-gaap:ProductWarrantyAccrual" scale="0" format="ixt:num-dot-decimal" decimals="0">80,000</ix:nonFraction>, respectively, and is included in accounts payable and accrued expenses. Warranty claims expense for the three months and six months ended April 30, 2024 totaled $<ix:nonFraction id="c350" contextRef="d_2024-02-01_2024-04-30" unitRef="USD" name="us-gaap:ProductWarrantyExpense" scale="0" format="ixt:num-dot-decimal" decimals="0">39,078</ix:nonFraction> and $<ix:nonFraction id="c351" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:ProductWarrantyExpense" scale="0" format="ixt:num-dot-decimal" decimals="0">44,266</ix:nonFraction>, respectively. Warranty claims expense for the three months and six months ended April 30, 2023 totaled $<ix:nonFraction id="c352" contextRef="d_2023-02-01_2023-04-30" unitRef="USD" name="us-gaap:ProductWarrantyExpense" scale="0" format="ixt:num-dot-decimal" decimals="0">13,078</ix:nonFraction> and $<ix:nonFraction id="c353" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:ProductWarrantyExpense" scale="0" format="ixt:num-dot-decimal" decimals="0">29,652</ix:nonFraction>, respectively.</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">&#160;</p>

<ix:exclude><div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">7</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000"/>
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="TOCLink hf-cell" style="width: 100%; display: inline-block; text-align: left;"><a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">Table of Contents</a></div>
</div>
</div>
</div></ix:exclude>

<ix:exclude><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p></ix:exclude>

<ix:exclude><p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>OPTICAL CABLE CORPORATION</b></p></ix:exclude>

<ix:exclude><p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Condensed Notes to Condensed Consolidated Financial Statements</p></ix:exclude>

<ix:exclude><p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Six Months Ended April 30, 2024</p></ix:exclude>

<ix:exclude><p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">(Unaudited)</p></ix:exclude>

<ix:exclude><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p></ix:exclude>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The following table summarizes the changes in the Company&#8217;s accrual for product warranties during the six months ended April 30, 2024 and 2023:</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock" id="c364" escape="true">
<table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 27pt;">

		<tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Six Months Ended </b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>April 30, 2024</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2024</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Balance at beginning of period</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c366" contextRef="i_2023-10-31" unitRef="USD" name="us-gaap:ProductWarrantyAccrual" scale="0" format="ixt:num-dot-decimal" decimals="0">80,000</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c367" contextRef="i_2022-10-31" unitRef="USD" name="us-gaap:ProductWarrantyAccrual" scale="0" format="ixt:num-dot-decimal" decimals="0">75,000</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Liabilities accrued for warranties issued during the period</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c368" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:ProductWarrantyAccrualWarrantiesIssued" scale="0" format="ixt:num-dot-decimal" decimals="0">65,766</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c369" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:ProductWarrantyAccrualWarrantiesIssued" scale="0" format="ixt:num-dot-decimal" decimals="0">59,149</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Warranty claims and costs paid during the period</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">(<ix:nonFraction id="c370" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:ProductWarrantyAccrualPayments" scale="0" format="ixt:num-dot-decimal" decimals="0">49,266</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">(<ix:nonFraction id="c371" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:ProductWarrantyAccrualPayments" scale="0" format="ixt:num-dot-decimal" decimals="0">39,652</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Changes in liability for pre-existing warranties during the period</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c372" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease" scale="0" format="ixt:num-dot-decimal" decimals="0" sign="-">21,500</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c373" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease" scale="0" format="ixt:num-dot-decimal" decimals="0" sign="-">29,497</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Balance at end of period</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c374" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:ProductWarrantyAccrual" scale="0" format="ixt:num-dot-decimal" decimals="0">75,000</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c375" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:ProductWarrantyAccrual" scale="0" format="ixt:num-dot-decimal" decimals="0">65,000</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
		</tr>

</tbody></table>
</ix:nonNumeric>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
</ix:nonNumeric>

<div>&#160;</div>

<ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="us-gaap:LongTermDebtTextBlock" id="c376" escape="true">
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tbody><tr style="vertical-align: top;">
			<td style="width: 27pt;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>(6)</b></p>
			</td>
			<td style="width: auto;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Long-term Debt and Notes Payable </b></p>
			</td>
		</tr>

</tbody></table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;">The Company has credit facilities consisting of a real estate term loan, as amended and restated (the &#8220;Virginia Real Estate Loan&#8221;), and a Revolving Credit Master Promissory Note and related Loan and Security Agreement (collectively, the &#8220;Revolver&#8221;).</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Virginia Real Estate Loan is with Northeast Bank and is payable in monthly installments of principal and interest. Principal is calculated using the unpaid balance of the loan and a two hundred forty (<ix:nonNumeric contextRef="d_2023-11-01_2024-04-30_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember" name="occ:DebtInstrumentAmortizationPeriod" id="c378" format="ixt-sec:durmonth">240</ix:nonNumeric>) month amortization schedule. Interest is computed on the aggregate principal balance outstanding at a rate equal to the Prime Rate, adjusted monthly on the fifth day of each calendar month in accordance with changes to the Prime Rate, provided, however, that the interest rate is never less than <ix:nonFraction id="c379" contextRef="i_2024-04-30_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember_RangeAxis-MinimumMember" unitRef="Pure" name="us-gaap:DebtInstrumentInterestRateEffectivePercentage" scale="-2" format="ixt:num-dot-decimal" decimals="3">8.5</ix:nonFraction>% per annum on the basis of a 360-day year times the actual number of days elapsed. The <span style="-sec-ix-hidden:c380"><span style="-sec-ix-hidden:c381">Prime Rate</span></span> was <ix:nonFraction id="c382" contextRef="i_2024-04-30_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember" unitRef="Pure" name="us-gaap:DebtInstrumentInterestRateEffectivePercentage" scale="-2" format="ixt:num-dot-decimal" decimals="3"><ix:nonFraction id="c383" contextRef="i_2023-10-31_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember" unitRef="Pure" name="us-gaap:DebtInstrumentInterestRateEffectivePercentage" scale="-2" format="ixt:num-dot-decimal" decimals="3">8.5</ix:nonFraction></ix:nonFraction>% per annum at April 30, 2024 and October 31, 2023. The maturity date of the Virginia Real Estate Loan is May 5, 2026.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Loan remains generally secured by a first lien deed of trust on the land and buildings at the Company&#8217;s headquarters and manufacturing facilities located in Roanoke, Virginia. All other terms of the Virginia Real Estate Loan remain unaltered and remain in full force and effect.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Company had an outstanding balance on its Virginia Real Estate Loan of $<ix:nonFraction id="c384" contextRef="i_2024-04-30_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember" unitRef="USD" name="us-gaap:LongTermLoansPayable" scale="6" format="ixt:num-dot-decimal" decimals="-5"><ix:nonFraction id="c385" contextRef="i_2023-10-31_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember" unitRef="USD" name="us-gaap:LongTermLoansPayable" scale="6" format="ixt:num-dot-decimal" decimals="-5">2.7</ix:nonFraction></ix:nonFraction> million, as of April 30, 2024 and October 31, 2023.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Revolver with North Mill Capital LLC (now doing business as SLR Business Credit, &#8220;SLR&#8221;) provides the Company with one or more advances in an amount up to: (a) <ix:nonFraction id="c386" contextRef="i_2024-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember" unitRef="Pure" name="occ:LineOfCreditFacilityPercentOfEligibleAccounts" scale="-2" format="ixt:num-dot-decimal" decimals="2">85</ix:nonFraction>% of the aggregate outstanding amount of eligible accounts (the &#8220;eligible accounts loan value&#8221;); plus (b) the lowest of (i) an amount up to <ix:nonFraction id="c387" contextRef="i_2024-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember" unitRef="Pure" name="occ:LineOfCreditFacilityPercentOfEligibleInventory" scale="-2" format="ixt:num-dot-decimal" decimals="2">35</ix:nonFraction>% of the aggregate value of eligible inventory, (ii) $<ix:nonFraction id="c388" contextRef="i_2024-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember" unitRef="USD" name="occ:LineOfCreditFacilityAdditionalCapacityForAdvances" scale="0" format="ixt:num-dot-decimal" decimals="0">5,000,000</ix:nonFraction>, and (iii) an amount not to exceed <ix:nonFraction id="c389" contextRef="i_2024-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember" unitRef="Pure" name="occ:LineOfCreditFacilityMaximumPercentageOfOutstandingEligibleAccountsLoanValue" scale="-2" format="ixt:num-dot-decimal" decimals="0">100</ix:nonFraction>% of the then outstanding eligible accounts loan value; minus (c) $<ix:nonFraction id="c390" contextRef="i_2024-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember" unitRef="USD" name="occ:LineOfCreditFacilityRestrictedCapacityForAdvances" scale="0" format="ixt:num-dot-decimal" decimals="0">1,150,000</ix:nonFraction>.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The maximum aggregate principal amount subject to the Revolver is $<ix:nonFraction id="c391" contextRef="i_2024-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember" unitRef="USD" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="0" format="ixt:num-dot-decimal" decimals="0">18,000,000</ix:nonFraction>. Interest accrues on the daily balance at the per annum rate of <ix:nonFraction id="c392" contextRef="d_2023-11-01_2024-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember" unitRef="Pure" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" format="ixt:num-dot-decimal" decimals="3">1.5</ix:nonFraction>% above the <span style="-sec-ix-hidden:c393"><span style="-sec-ix-hidden:c394"><span style="-sec-ix-hidden:c395">Prime Rate</span></span></span> in effect from time to time, but not less than <ix:nonFraction id="c396" contextRef="i_2020-07-24_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember" unitRef="Pure" name="us-gaap:DebtInstrumentInterestRateEffectivePercentage" scale="-2" format="ixt:num-dot-decimal" decimals="4">4.75</ix:nonFraction>% (the &#8220;Applicable Rate&#8221;). As a result, the Revolver accrued interest at a <ix:nonFraction id="c397" contextRef="i_2024-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember" unitRef="Pure" name="us-gaap:DebtInstrumentInterestRateEffectivePercentage" scale="-2" format="ixt:num-dot-decimal" decimals="1"><ix:nonFraction id="c398" contextRef="i_2023-10-31_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember" unitRef="Pure" name="us-gaap:DebtInstrumentInterestRateEffectivePercentage" scale="-2" format="ixt:num-dot-decimal" decimals="1">10.0</ix:nonFraction></ix:nonFraction>% rate at April 30, 2024 and October 31, 2023. In the event of a default, interest may become <ix:nonFraction id="c399" contextRef="i_2020-07-24_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember_RangeAxis-MaximumMember" unitRef="Pure" name="us-gaap:DebtInstrumentInterestRateEffectivePercentage" scale="-2" format="ixt:num-dot-decimal" decimals="2">6.0</ix:nonFraction>% above the Applicable Rate. The termination date of the Revolver is July 24, 2025 and the loan may be extended in <span style="-sec-ix-hidden:c400">one</span> year periods subject to the agreement of SLR.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<ix:exclude><div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGFTR" style="text-align: center; width: 100%">
<div class="hf-row">
<div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">8</div>
</div>
</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000"/>
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="hf-cell TOCLink" style="display: inline-block; text-align: left;"><a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">Table of Contents</a></div>
</div>
</div>
</div></ix:exclude>

<ix:exclude><p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#160;</p></ix:exclude>

<ix:exclude><p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>OPTICAL CABLE CORPORATION</b></p></ix:exclude>

<ix:exclude><p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Condensed Notes to Condensed Consolidated Financial Statements</p></ix:exclude>

<ix:exclude><p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Six Months Ended April 30, 2024</p></ix:exclude>

<ix:exclude><p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">(Unaudited)</p></ix:exclude>

<ix:exclude><p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#160;</p></ix:exclude>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Revolver is secured by all of the following assets: properties, rights and interests in property of the Company whether now owned or existing, or hereafter acquired or arising, and wherever located; all accounts, equipment, commercial tort claims, general intangibles, chattel paper, inventory, negotiable collateral, investment property, financial assets, letter-of-credit rights, supporting obligations, deposit accounts, money or assets of the Company, which hereafter come into the possession, custody, or control of SLR; all proceeds and products, whether tangible or intangible, of any of the foregoing, including proceeds of insurance covering any or all of the foregoing; any and all tangible or intangible property resulting from the sale, lease, license or other disposition of any of the foregoing, or any portion thereof or interest therein, and all proceeds thereof; and any other assets of the Company which may be subject to a lien in favor of SLR as security for the obligations under the Loan Agreement.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">As of April 30, 2024, the Company had $<ix:nonFraction id="c401" contextRef="i_2024-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember" unitRef="USD" name="us-gaap:LineOfCredit" scale="6" format="ixt:num-dot-decimal" decimals="-6">8.0</ix:nonFraction> million of outstanding borrowings on its Revolver and $<ix:nonFraction id="c402" contextRef="i_2024-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember" unitRef="USD" name="us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity" scale="6" format="ixt:num-dot-decimal" decimals="-6">2.0</ix:nonFraction> million in available credit. As of October 31, 2023, the Company had $<ix:nonFraction id="c403" contextRef="i_2023-10-31_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember" unitRef="USD" name="us-gaap:LineOfCredit" scale="6" format="ixt:num-dot-decimal" decimals="-5">8.3</ix:nonFraction> million of outstanding borrowings on its Revolver and $<ix:nonFraction id="c404" contextRef="i_2023-10-31_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember" unitRef="USD" name="us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity" scale="6" format="ixt:num-dot-decimal" decimals="-5">2.6</ix:nonFraction> million in available credit.</p>
</ix:nonNumeric>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<div>&#160;</div>

<ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="occ:LesseeOperatingAndFinanceLeasesDisclosureTextBlock" id="c405" escape="true">
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tbody><tr style="vertical-align: top;">
			<td style="width: 27pt;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>(7)</b></p>
			</td>
			<td style="width: auto;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Leases</b></p>
			</td>
		</tr>

</tbody></table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Company has an operating lease agreement for approximately <ix:nonFraction id="c407" contextRef="i_2024-04-30_LeaseContractualTermAxis-OperatingLeaseForOfficeManufacturingAndWarehouseSpaceInPlanoTexasMember" unitRef="SquareFoot" name="us-gaap:AreaOfRealEstateProperty" scale="0" format="ixt:num-dot-decimal" decimals="INF">34,000</ix:nonFraction> square feet of office, manufacturing and warehouse space in Plano, Texas (near Dallas). The lease term expires on November 30, 2024.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Company has an operating lease agreement for approximately <ix:nonFraction id="c408" contextRef="i_2024-04-30_LeaseContractualTermAxis-OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember" unitRef="SquareFoot" name="us-gaap:AreaOfRealEstateProperty" scale="0" format="ixt:num-dot-decimal" decimals="INF">36,000</ix:nonFraction> square feet of warehouse space in Roanoke, Virginia. During the first quarter of fiscal year 2023, the lease term was extended for an additional <span style="-sec-ix-hidden:c409">three</span> years. The new expiration date is April 30, 2026.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Company also leases certain office equipment under operating leases with initial <ix:nonNumeric contextRef="i_2024-04-30_LeaseContractualTermAxis-OperatingLeaseForOfficeEquipmentMember" name="us-gaap:LesseeOperatingLeaseTermOfContract" id="c410" format="ixt-sec:durmonth">60</ix:nonNumeric> month terms. The lease terms expire in February and April of 2025.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">OCC leases printers that are used in the Roanoke, Virginia manufacturing facility. The lease term expires on August 22, 2026. The right-of-use asset is being amortized on a straight line basis over seven years. When the lease term ends, the remaining net book value of the right-of-use asset will be classified as property and equipment.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Company&#8217;s lease contracts may include options to extend or terminate the leases. The Company exercises judgment to determine the term of those leases when such options are present and include such options in the calculation of the lease term when it is reasonably certain that it will exercise those options.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Company includes contract lease components in its determination of lease payments, while non-lease components of the contracts, such as taxes, insurance, and common area maintenance, are expensed as incurred. At commencement, right-of-use assets and lease liabilities are measured at the present value of future lease payments over the lease term. The Company uses its incremental borrowing rate based on information available at the time of lease commencement to measure the present value of future payments.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">Operating lease expense is recognized on a straight-line basis over the lease term. Short term leases with an initial term of 12 months or less are expensed as incurred. The Company&#8217;s short term leases have month-to-month terms.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<ix:exclude><div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGFTR" style="text-align: center; width: 100%">
<div class="hf-row">
<div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">9</div>
</div>
</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000"/>
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="hf-cell TOCLink" style="display: inline-block; text-align: left;"><a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">Table of Contents</a></div>
</div>
</div>
</div></ix:exclude>

<ix:exclude><p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#160;</p></ix:exclude>

<ix:exclude><p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>OPTICAL CABLE CORPORATION</b></p></ix:exclude>

<ix:exclude><p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Condensed Notes to Condensed Consolidated Financial Statements</p></ix:exclude>

<ix:exclude><p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Six Months Ended April 30, 2024</p></ix:exclude>

<ix:exclude><p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">(Unaudited)</p></ix:exclude>

<ix:exclude><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p></ix:exclude>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">Operating lease right-of-use assets of $<ix:nonFraction id="c411" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="0" format="ixt:num-dot-decimal" decimals="0">407,796</ix:nonFraction> and $<ix:nonFraction id="c412" contextRef="i_2023-10-31" unitRef="USD" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="0" format="ixt:num-dot-decimal" decimals="0">596,578</ix:nonFraction> were included in <span style="-sec-ix-hidden:c413"><span style="-sec-ix-hidden:c414">other assets</span></span> at April 30, 2024 and October 31, 2023, respectively. Operating lease liabilities of $<ix:nonFraction id="c415" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="0" format="ixt:num-dot-decimal" decimals="0">318,225</ix:nonFraction> and $<ix:nonFraction id="c416" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="0" format="ixt:num-dot-decimal" decimals="0">121,294</ix:nonFraction>, respectively, were included in <span style="-sec-ix-hidden:c417">accounts payable and accrued expenses</span>, and <span style="-sec-ix-hidden:c418">other noncurrent liabilities</span>, at April 30, 2024. Operating lease liabilities of $<ix:nonFraction id="c419" contextRef="i_2023-10-31" unitRef="USD" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="0" format="ixt:num-dot-decimal" decimals="0">414,159</ix:nonFraction> and $<ix:nonFraction id="c420" contextRef="i_2023-10-31" unitRef="USD" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="0" format="ixt:num-dot-decimal" decimals="0">227,925</ix:nonFraction>, respectively, were included in <span style="-sec-ix-hidden:c421">accounts payable and accrued expenses</span>, and <span style="-sec-ix-hidden:c422">other noncurrent liabilities</span> at October 31, 2023. Operating lease expense recognized during the three months and six months ended April 30, 2024 totaled $<ix:nonFraction id="c423" contextRef="d_2024-02-01_2024-04-30" unitRef="USD" name="us-gaap:OperatingLeaseExpense" scale="0" format="ixt:num-dot-decimal" decimals="0">109,144</ix:nonFraction> and $<ix:nonFraction id="c424" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:OperatingLeaseExpense" scale="0" format="ixt:num-dot-decimal" decimals="0">218,288</ix:nonFraction>, respectively. Operating lease expense recognized during the three months and six months ended April 30, 2023 totaled $<ix:nonFraction id="c425" contextRef="d_2023-02-01_2023-04-30" unitRef="USD" name="us-gaap:OperatingLeaseExpense" scale="0" format="ixt:num-dot-decimal" decimals="0">109,144</ix:nonFraction> and $<ix:nonFraction id="c426" contextRef="d_2022-11-01_2023-01-31" unitRef="USD" name="us-gaap:OperatingLeaseExpense" scale="0" format="ixt:num-dot-decimal" decimals="0">212,477</ix:nonFraction>, respectively.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The weighted average remaining lease term was <ix:nonNumeric contextRef="i_2024-04-30" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" id="c427" format="ixt-sec:durmonth">16.5</ix:nonNumeric> months and the weighted average discount rate was <ix:nonFraction id="c428" contextRef="i_2024-04-30" unitRef="Pure" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" scale="-2" format="ixt:num-dot-decimal" decimals="3">7.6</ix:nonFraction>% as of April 30, 2024.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">For the three months ended April 30, 2024 and 2023, cash paid for operating lease liabilities totaled $<ix:nonFraction id="c429" contextRef="d_2024-02-01_2024-04-30" unitRef="USD" name="us-gaap:OperatingLeasePayments" scale="0" format="ixt:num-dot-decimal" decimals="0">111,770</ix:nonFraction> and $<ix:nonFraction id="c430" contextRef="d_2023-02-01_2023-04-30" unitRef="USD" name="us-gaap:OperatingLeasePayments" scale="0" format="ixt:num-dot-decimal" decimals="0">109,151</ix:nonFraction>, respectively. For the three months ended April 30, 2024 and 2023, there were <span style="-sec-ix-hidden:c431"><span style="-sec-ix-hidden:c432">no</span></span> right-of-use assets obtained in exchange for new operating lease liabilities.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">Finance lease right-of-use assets of $<ix:nonFraction id="c433" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:FinanceLeaseRightOfUseAsset" scale="0" format="ixt:num-dot-decimal" decimals="0">126,593</ix:nonFraction> and $<ix:nonFraction id="c434" contextRef="i_2023-10-31" unitRef="USD" name="us-gaap:FinanceLeaseRightOfUseAsset" scale="0" format="ixt:num-dot-decimal" decimals="0">141,342</ix:nonFraction> were included in <span style="-sec-ix-hidden:c435"><span style="-sec-ix-hidden:c436">other assets</span></span> at April 30, 2024 and October 31, 2023, respectively. Finance lease liabilities of $<ix:nonFraction id="c437" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityCurrent" scale="0" format="ixt:num-dot-decimal" decimals="0">38,357</ix:nonFraction> and $<ix:nonFraction id="c438" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityNoncurrent" scale="0" format="ixt:num-dot-decimal" decimals="0">74,046</ix:nonFraction>, respectively, were included in <span style="-sec-ix-hidden:c439">accounts payable and accrued expenses</span>, and <span style="-sec-ix-hidden:c440">other noncurrent liabilities</span> at April 30, 2024. Finance lease liabilities of $<ix:nonFraction id="c441" contextRef="i_2023-10-31" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityCurrent" scale="0" format="ixt:num-dot-decimal" decimals="0">37,459</ix:nonFraction> and $<ix:nonFraction id="c442" contextRef="i_2023-10-31" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityNoncurrent" scale="0" format="ixt:num-dot-decimal" decimals="0">93,451</ix:nonFraction>, respectively, were included in <span style="-sec-ix-hidden:c443">accounts payable and accrued expenses</span>, and <span style="-sec-ix-hidden:c444">other noncurrent liabilities</span> at October 31, 2023. Interest expense related to the finance lease totaled $<ix:nonFraction id="c445" contextRef="d_2024-02-01_2024-04-30" unitRef="USD" name="us-gaap:FinanceLeaseInterestExpense" scale="0" format="ixt:num-dot-decimal" decimals="0">1,409</ix:nonFraction> and $<ix:nonFraction id="c446" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:FinanceLeaseInterestExpense" scale="0" format="ixt:num-dot-decimal" decimals="0">2,927</ix:nonFraction>, respectively, for the three months and six months ended April 30, 2024. Interest expense related to the finance lease totaled $<ix:nonFraction id="c447" contextRef="d_2023-02-01_2023-04-30" unitRef="USD" name="us-gaap:FinanceLeaseInterestExpense" scale="0" format="ixt:num-dot-decimal" decimals="0">1,840</ix:nonFraction> and $<ix:nonFraction id="c448" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:FinanceLeaseInterestExpense" scale="0" format="ixt:num-dot-decimal" decimals="0">3,784</ix:nonFraction>, respectively, for the three months and six months ended April 30, 2023. For the three months ended April 30, 2024 and 2023, amortization expense related to the finance lease totaled $<ix:nonFraction id="c449" contextRef="d_2024-02-01_2024-04-30" unitRef="USD" name="us-gaap:FinanceLeaseRightOfUseAssetAmortization" scale="0" format="ixt:num-dot-decimal" decimals="0"><ix:nonFraction id="c450" contextRef="d_2023-02-01_2023-04-30" unitRef="USD" name="us-gaap:FinanceLeaseRightOfUseAssetAmortization" scale="0" format="ixt:num-dot-decimal" decimals="0">7,374</ix:nonFraction></ix:nonFraction>. For the six months ended April 30, 2024 and 2023, amortization expense related to the finance lease totaled $<ix:nonFraction id="c451" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:FinanceLeaseRightOfUseAssetAmortization" scale="0" format="ixt:num-dot-decimal" decimals="0"><ix:nonFraction id="c452" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:FinanceLeaseRightOfUseAssetAmortization" scale="0" format="ixt:num-dot-decimal" decimals="0">14,749</ix:nonFraction></ix:nonFraction>.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The remaining lease term for the finance lease is <ix:nonNumeric contextRef="i_2024-04-30" name="us-gaap:LesseeFinanceLeaseRemainingLeaseTerm" id="c453" format="ixt-sec:durmonth">28</ix:nonNumeric> months and the discount rate is <ix:nonFraction id="c454" contextRef="i_2024-04-30" unitRef="Pure" name="us-gaap:LesseeFinanceLeaseDiscountRate" scale="-2" format="ixt:num-dot-decimal" decimals="4">4.75</ix:nonFraction>% as of April 30, 2024.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">For the three months ended April 30, 2024, cash paid for the finance lease liability totaled $<ix:nonFraction id="c455" contextRef="d_2024-02-01_2024-04-30" unitRef="USD" name="us-gaap:FinanceLeaseInterestExpense" scale="0" format="ixt:num-dot-decimal" decimals="0">1,409</ix:nonFraction> for interest and $<ix:nonFraction id="c456" contextRef="d_2024-02-01_2024-04-30" unitRef="USD" name="us-gaap:FinanceLeasePrincipalPayments" scale="0" format="ixt:num-dot-decimal" decimals="0">9,309</ix:nonFraction> for principal. For the six months ended April 30, 2024, cash paid for the finance lease liability totaled $<ix:nonFraction id="c457" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:FinanceLeaseInterestExpense" scale="0" format="ixt:num-dot-decimal" decimals="0">2,927</ix:nonFraction> for interest and $<ix:nonFraction id="c458" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:FinanceLeasePrincipalPayments" scale="0" format="ixt:num-dot-decimal" decimals="0">18,507</ix:nonFraction> for principal.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">For the three months ended April 30, 2023, cash paid for the finance lease liability totaled $<ix:nonFraction id="c459" contextRef="d_2023-02-01_2023-04-30" unitRef="USD" name="us-gaap:FinanceLeaseInterestExpense" scale="0" format="ixt:num-dot-decimal" decimals="0">1,840</ix:nonFraction> for interest and $<ix:nonFraction id="c460" contextRef="d_2023-02-01_2023-04-30" unitRef="USD" name="us-gaap:FinanceLeasePrincipalPayments" scale="0" format="ixt:num-dot-decimal" decimals="0">8,878</ix:nonFraction> for principal. For the six months ended April 30, 2023, cash paid for the finance lease liability totaled $<ix:nonFraction id="c461" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:FinanceLeaseInterestExpense" scale="0" format="ixt:num-dot-decimal" decimals="0">3,784</ix:nonFraction> for interest and $<ix:nonFraction id="c462" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:FinanceLeasePrincipalPayments" scale="0" format="ixt:num-dot-decimal" decimals="0">17,652</ix:nonFraction> for principal.</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">&#160;</p>

<ix:exclude><div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">10</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000"/>
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="TOCLink hf-cell" style="width: 100%; display: inline-block; text-align: left;"><a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">Table of Contents</a></div>
</div>
</div>
</div></ix:exclude>

<ix:exclude><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p></ix:exclude>

<ix:exclude><p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>OPTICAL CABLE CORPORATION</b></p></ix:exclude>

<ix:exclude><p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Condensed Notes to Condensed Consolidated Financial Statements</p></ix:exclude>

<ix:exclude><p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Six Months Ended April 30, 2024</p></ix:exclude>

<ix:exclude><p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">(Unaudited)</p></ix:exclude>

<ix:exclude><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p></ix:exclude>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Company&#8217;s future payments due under leases reconciled to the lease liabilities are as follows:</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="occ:LesseeLeaseLiabilityMaturityTableTextBlock" id="c475" escape="true">
<table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 15%; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 63pt;">

		<tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><span style="text-decoration: underline; "><b>Fiscal Year</b></span></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Operating </b></p>

			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>leases</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Finance </b></p>

			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>lease</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>2024 <sup style="vertical-align:top;line-height:120%;">(1)</sup></b></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c477" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" scale="0" format="ixt:num-dot-decimal" decimals="0">225,340</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c478" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear" scale="0" format="ixt:num-dot-decimal" decimals="0">21,434</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">2025</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c479" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" scale="0" format="ixt:num-dot-decimal" decimals="0">177,997</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c480" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" scale="0" format="ixt:num-dot-decimal" decimals="0">42,868</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">2026</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c481" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" scale="0" format="ixt:num-dot-decimal" decimals="0">63,644</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c482" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo" scale="0" format="ixt:num-dot-decimal" decimals="0">55,714</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Total undiscounted lease payments</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c483" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" scale="0" format="ixt:num-dot-decimal" decimals="0">466,981</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c484" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityPaymentsDue" scale="0" format="ixt:num-dot-decimal" decimals="0">120,016</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Present value discount</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c485" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" scale="0" format="ixt:num-dot-decimal" decimals="0">27,462</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c486" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount" scale="0" format="ixt:num-dot-decimal" decimals="0">7,613</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Total lease liability</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c487" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:OperatingLeaseLiability" scale="0" format="ixt:num-dot-decimal" decimals="0">439,519</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c488" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:FinanceLeaseLiability" scale="0" format="ixt:num-dot-decimal" decimals="0">112,403</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>(1) <ix:footnote xml:lang="en-us" id="ff1f85a32-5a6c-4c89-bbeb-5dbee05c913a">Remaining six months of fiscal year 2024.</ix:footnote></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td>
		</tr>

</tbody></table>
</ix:nonNumeric>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
</ix:nonNumeric>

<div>&#160;</div>

<ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="us-gaap:FairValueDisclosuresTextBlock" id="c489" escape="true">
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tbody><tr style="vertical-align: top;">
			<td style="width: 27pt;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>(8)</b></p>
			</td>
			<td style="width: auto;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Fair Value Measurements</b></p>
			</td>
		</tr>

</tbody></table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The carrying amounts reported in the condensed consolidated balance sheets as of April 30, 2024 and October 31, 2023 for cash, trade accounts receivable, income taxes refundable &#8211; current, other receivables, current installments of long-term debt, accounts payable and accrued expenses, accrued compensation and payroll taxes, and income taxes payable approximate fair value because of the short maturity of these instruments. The carrying value of the Company&#8217;s note payable, revolver &#8211; noncurrent, and long-term debt, excluding current installments, approximates fair value because the interest rates vary with the market. Fair value is defined as the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date.</p>
</ix:nonNumeric>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<div>&#160;</div>

<ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="us-gaap:EarningsPerShareTextBlock" id="c491" escape="true">
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tbody><tr style="vertical-align: top;">
			<td style="width: 27pt;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><a id="note9" title="note9" href="#"></a>(9)</b></p>
			</td>
			<td style="width: auto;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Net Income (Loss) Per Share</b></p>
			</td>
		</tr>

</tbody></table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">Basic net income (loss) per share excludes dilution and is computed by dividing net income (loss) available to common shareholders by the weighted-average number of common shares outstanding for the period. Diluted net income (loss) per share reflects the potential dilution that could occur if securities or other contracts to issue common stock were exercised or converted into common stock or resulted in the issuance of common stock that then shared in the net income (loss) of the Company.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The following is a reconciliation of the numerators and denominators of the net income (loss) per share computations for the periods presented:</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" id="c507" escape="true">
<table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 27pt;">

		<tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Three months ended </b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Six months ended</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>April 30,</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>April 30,</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2024</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2024</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 48%;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Net income (loss) (numerator)</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c509" contextRef="d_2024-02-01_2024-04-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="0" format="ixt:num-dot-decimal" decimals="0" sign="-">1,601,346</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c510" contextRef="d_2023-02-01_2023-04-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="0" format="ixt:num-dot-decimal" decimals="0">2,423,087</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c511" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="0" format="ixt:num-dot-decimal" decimals="0" sign="-">3,026,620</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c512" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="0" format="ixt:num-dot-decimal" decimals="0">3,233,071</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Shares (denominator)</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c513" contextRef="d_2024-02-01_2024-04-30" unitRef="Share" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" format="ixt:num-dot-decimal" decimals="INF">7,710,801</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c514" contextRef="d_2023-02-01_2023-04-30" unitRef="Share" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" format="ixt:num-dot-decimal" decimals="INF">7,867,755</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c515" contextRef="d_2023-11-01_2024-04-30" unitRef="Share" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" format="ixt:num-dot-decimal" decimals="INF">7,731,605</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c516" contextRef="d_2022-11-01_2023-04-30" unitRef="Share" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" format="ixt:num-dot-decimal" decimals="INF">7,880,685</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Basic and diluted net income (loss) per share</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c517" contextRef="d_2024-02-01_2024-04-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareBasic" scale="0" format="ixt:num-dot-decimal" decimals="INF" sign="-">0.21</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c518" contextRef="d_2023-02-01_2023-04-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareBasic" scale="0" format="ixt:num-dot-decimal" decimals="INF">0.31</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c519" contextRef="d_2023-11-01_2024-04-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareBasic" scale="0" format="ixt:num-dot-decimal" decimals="INF" sign="-">0.39</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c520" contextRef="d_2022-11-01_2023-04-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareBasic" scale="0" format="ixt:num-dot-decimal" decimals="INF">0.41</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
		</tr>

</tbody></table>
</ix:nonNumeric>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">Weighted average unvested shares for the three months and six months ended April 30, 2024 totaling <ix:nonFraction id="c505" contextRef="d_2024-02-01_2024-04-30" unitRef="Share" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" format="ixt:num-dot-decimal" decimals="INF"><ix:nonFraction id="c506" contextRef="d_2023-11-01_2024-04-30" unitRef="Share" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" format="ixt:num-dot-decimal" decimals="INF">141,723</ix:nonFraction></ix:nonFraction>, while issued and outstanding, were not included in the computation of basic and diluted net loss per share for the three months and six months ended April 30, 2024 (because to include such shares would have been anti-dilutive, or in other words, to do so would have reduced the net loss per share for those periods).</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">&#160;</p>

<ix:exclude><div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGFTR" style="text-align: center; width: 100%">
<div class="hf-row">
<div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">11</div>
</div>
</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000"/>
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="hf-cell TOCLink" style="display: inline-block; text-align: left;"><a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">Table of Contents</a></div>
</div>
</div>
</div></ix:exclude>

<ix:exclude><p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#160;</p></ix:exclude>

<ix:exclude><p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>OPTICAL CABLE CORPORATION</b></p></ix:exclude>

<ix:exclude><p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Condensed Notes to Condensed Consolidated Financial Statements</p></ix:exclude>

<ix:exclude><p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Six Months Ended April 30, 2024</p></ix:exclude>

<ix:exclude><p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">(Unaudited)</p></ix:exclude>
</ix:nonNumeric>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<div>&#160;</div>

<ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="us-gaap:ConcentrationRiskDisclosureTextBlock" id="c521" escape="true">
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tbody><tr style="vertical-align: top;">
			<td style="width: 27pt;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>(10)</b></p>
			</td>
			<td style="width: auto;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Segment Information and Business and Credit Concentrations</b></p>
			</td>
		</tr>

</tbody></table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Company provides credit, in the normal course of business, to various commercial enterprises, governmental entities and not&#8209;for&#8209;profit organizations. Concentration of credit risk with respect to trade receivables is normally limited due to the Company&#8217;s large number of customers. The Company also manages exposure to credit risk through credit approvals, credit limits and monitoring procedures. Management believes that credit risks as of April 30, 2024 have been adequately provided for in the condensed consolidated financial statements. The Company includes all entities under common ownership for the purpose of calculating business concentrations.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">For the three months and six months ended April 30, 2024, <ix:nonFraction id="c523" contextRef="d_2024-02-01_2024-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-OneCustomerMember" unitRef="Pure" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" format="ixt:num-dot-decimal" decimals="3">16.3</ix:nonFraction>% and <ix:nonFraction id="c524" contextRef="d_2023-11-01_2024-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-OneCustomerMember" unitRef="Pure" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" format="ixt:num-dot-decimal" decimals="3">15.9</ix:nonFraction>%, respectively, of consolidated net sales were attributable to <span style="-sec-ix-hidden:c525"><span style="-sec-ix-hidden:c526"><span style="-sec-ix-hidden:c527"><span style="-sec-ix-hidden:c528">one</span></span></span></span> national distributor customer. For the three months and six months ended April 30, 2023, <ix:nonFraction id="c529" contextRef="d_2023-02-01_2023-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-OneCustomerMember" unitRef="Pure" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" format="ixt:num-dot-decimal" decimals="3">17.7</ix:nonFraction>% and <ix:nonFraction id="c530" contextRef="d_2022-11-01_2023-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-OneCustomerMember" unitRef="Pure" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" format="ixt:num-dot-decimal" decimals="3">16.3</ix:nonFraction>%, respectively, of consolidated net sales were attributable to the same national distributor customer.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Company has a <span style="-sec-ix-hidden:c531">single</span> reportable segment for purposes of segment reporting.</p>
</ix:nonNumeric>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<div>&#160;</div>

<ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="us-gaap:RevenueFromContractWithCustomerTextBlock" id="c532" escape="true">
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tbody><tr style="vertical-align: top;">
			<td style="width: 27pt;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>(11)</b></p>
			</td>
			<td style="width: auto;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Revenue Recognition</b></p>
			</td>
		</tr>

</tbody></table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">Revenues consist of product sales that are recognized at a specific point in time under the core principle of recognizing revenue when control transfers to the customer. The Company considers customer purchase orders, governed by master sales agreements or the Company&#8217;s standard terms and conditions, to be the contract with the customer. For each contract, the promise to transfer the control of the products, each of which is individually distinct, is considered to be the identified performance obligation. The Company evaluates each customer&#8217;s credit risk when determining whether to accept a contract.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">In determining transaction prices, the Company evaluates whether fixed order prices are subject to adjustment to determine the net consideration to which the Company expects to be entitled. Contracts do not include financing components, as payment terms are generally due 30 to 90 days after shipment. Taxes assessed by governmental authorities and collected from the customer including, but not limited to, sales and use taxes and value-added taxes, are not included in the transaction price and are not included in net sales.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Company recognizes revenue at the point in time when products are shipped or delivered from its manufacturing facility to its customer, in accordance with the agreed-upon shipping terms. Since the Company typically invoices the customer at the same time that performance obligations are satisfied, no contract assets are recognized. The Company&#8217;s contract liability represents advance consideration received from customers prior to transfer of the product. This liability was $<ix:nonFraction id="c534" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:ContractWithCustomerLiability" scale="0" format="ixt:num-dot-decimal" decimals="0">180,431</ix:nonFraction> as of April 30, 2024 and $<ix:nonFraction id="c535" contextRef="i_2023-10-31" unitRef="USD" name="us-gaap:ContractWithCustomerLiability" scale="0" format="ixt:num-dot-decimal" decimals="0">110,336</ix:nonFraction> as of October 31, 2023.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">Sales to certain customers are made pursuant to agreements that provide price adjustments and limited return rights with respect to the Company&#8217;s products. The Company maintains a reserve for estimated future price adjustment claims, rebates and returns as a refund liability. The Company&#8217;s refund liability was $<ix:nonFraction id="c536" contextRef="i_2024-04-30" unitRef="USD" name="us-gaap:ContractWithCustomerRefundLiability" scale="0" format="ixt:num-dot-decimal" decimals="0">133,201</ix:nonFraction> as of April 30, 2024 and $<ix:nonFraction id="c537" contextRef="i_2023-10-31" unitRef="USD" name="us-gaap:ContractWithCustomerRefundLiability" scale="0" format="ixt:num-dot-decimal" decimals="0">252,264</ix:nonFraction> as of October 31, 2023.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<ix:exclude><div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGFTR" style="text-align: center; width: 100%">
<div class="hf-row">
<div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">12</div>
</div>
</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000"/>
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="hf-cell TOCLink" style="display: inline-block; text-align: left;"><a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">Table of Contents</a></div>
</div>
</div>
</div></ix:exclude>

<ix:exclude><p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#160;</p></ix:exclude>

<ix:exclude><p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>OPTICAL CABLE CORPORATION</b></p></ix:exclude>

<ix:exclude><p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Condensed Notes to Condensed Consolidated Financial Statements</p></ix:exclude>

<ix:exclude><p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Six Months Ended April 30, 2024</p></ix:exclude>

<ix:exclude><p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">(Unaudited)</p></ix:exclude>

<ix:exclude><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p></ix:exclude>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Company offers standard product warranty coverage which provides assurance that its products will conform to contractually agreed-upon specifications for a limited period from the date of shipment. Separately-priced warranty coverage is not offered. The warranty claim is generally limited to a credit equal to the purchase price or a promise to repair or replace the product for a specified period of time at no additional charge.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Company accounts for shipping and handling activities related to contracts with customers as a cost to fulfill its promise to transfer control of the related product. Shipping and handling costs are included in selling, general and administrative expenses in the accompanying Condensed Consolidated Statements of Operations.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Company incurs sales commissions to acquire customer contracts that are directly attributable to the contracts. The commissions are expensed as selling expenses during the period that the related products are transferred to customers.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 27pt;"><i>Disaggregation of Revenue</i></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;">The following table presents net sales attributable to the United States and all other countries in total for the three months and six months ended April 30, 2024 and 2023:</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock" id="c550" escape="true">
<table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 27pt;">

		<tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Three months ended </b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Six months ended </b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>April 30,</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>April 30,</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2024</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2024</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">United States</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c552" contextRef="d_2024-02-01_2024-04-30_StatementGeographicalAxis-US" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="0" format="ixt:num-dot-decimal" decimals="0">13,024,311</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c553" contextRef="d_2023-02-01_2023-04-30_StatementGeographicalAxis-US" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="0" format="ixt:num-dot-decimal" decimals="0">15,829,216</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c554" contextRef="d_2023-11-01_2024-04-30_StatementGeographicalAxis-US" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="0" format="ixt:num-dot-decimal" decimals="0">24,993,866</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c555" contextRef="d_2022-11-01_2023-04-30_StatementGeographicalAxis-US" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="0" format="ixt:num-dot-decimal" decimals="0">30,407,301</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Outside the United States</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c556" contextRef="d_2024-02-01_2024-04-30_StatementGeographicalAxis-NonUsMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="0" format="ixt:num-dot-decimal" decimals="0">3,087,787</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c557" contextRef="d_2023-02-01_2023-04-30_StatementGeographicalAxis-NonUsMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="0" format="ixt:num-dot-decimal" decimals="0">3,790,320</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c558" contextRef="d_2023-11-01_2024-04-30_StatementGeographicalAxis-NonUsMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="0" format="ixt:num-dot-decimal" decimals="0">5,972,997</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c559" contextRef="d_2022-11-01_2023-04-30_StatementGeographicalAxis-NonUsMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="0" format="ixt:num-dot-decimal" decimals="0">7,495,910</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt;">Total net sales</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c560" contextRef="d_2024-02-01_2024-04-30" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="0" format="ixt:num-dot-decimal" decimals="0">16,112,098</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c561" contextRef="d_2023-02-01_2023-04-30" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="0" format="ixt:num-dot-decimal" decimals="0">19,619,536</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c562" contextRef="d_2023-11-01_2024-04-30" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="0" format="ixt:num-dot-decimal" decimals="0">30,966,863</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c563" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="0" format="ixt:num-dot-decimal" decimals="0">37,903,211</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
		</tr>

</tbody></table>
</ix:nonNumeric>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
</ix:nonNumeric>

<div>&#160;</div>

<ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" id="c564" escape="true">
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tbody><tr style="vertical-align: top;">
			<td style="width: 27pt;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>(12)</b></p>
			</td>
			<td style="width: auto;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Contingencies</b></p>
			</td>
		</tr>

</tbody></table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">From time to time, the Company is involved in various claims, legal actions and regulatory reviews arising in the ordinary course of business. In the opinion of management, the ultimate disposition of these matters will not have a material adverse effect on the Company&#8217;s financial position, results of operations or liquidity.</p>
</ix:nonNumeric>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<div>&#160;</div>

<ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" id="c566" escape="true">
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tbody><tr style="vertical-align: top;">
			<td style="width: 27pt;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>(13) </b></p>
			</td>
			<td style="width: auto;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>New Accounting Standards Not Yet Adopted</b></p>
			</td>
		</tr>

</tbody></table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">In November 2023, the FASB issued Accounting Standards Update 2023-07, <i>Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures</i>. ASU 2023-07 requires enhanced disclosures about significant segment expenses and enhanced disclosures in interim periods. The guidance in ASU 2023-07 will be applied retrospectively and is effective for annual reporting periods in fiscal years beginning after December 15, 2023 and interim reporting periods in fiscal years beginning after December 31, 2024, with early adoption permitted. The Company is currently evaluating the impact ASU 2023-07&#160;will have on its financial statement disclosures.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">In December 2023, the FASB issued Accounting Standards Update 2023-09, <i>Income Taxes (Topic 740): Improvements to Income Tax Disclosures</i> (&#8220;ASU 2023-09&#8221;). The objective of ASU 2023-09 is to enhance disclosures related to income taxes, including specific thresholds for inclusion within the tabular disclosure of income tax rate reconciliation and specified information about income taxes paid. ASU 2023-09 is effective for public companies starting in annual periods beginning after December 15, 2024, with early adoption permitted. The Company is currently evaluating the impact ASU 2023-09&#160;will have on its financial statement disclosures.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt; text-align: justify;">There are no other new accounting standards issued, but not yet adopted by the Company, which are expected to materially impact the Company&#8217;s financial position, operating results or financial statement disclosures.</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 27pt;">&#160;</p>

<ix:exclude><div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGFTR" style="text-align: center; width: 100%">
<div class="hf-row">
<div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">13</div>
</div>
</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000"/>
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="hf-cell TOCLink" style="display: inline-block; text-align: left;"><a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">Table of Contents</a></div>
</div>
</div>
</div></ix:exclude>

<p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#160;</p>
</ix:nonNumeric>

<div>&#160;</div>

<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><a id="item2" title="item2" href="#"></a>Item 2. Management</b>&#8217;<b>s Discussion and Analysis of Financial Condition and Results of Operations</b></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><b>Forward-Looking Information</b></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">This Form 10-Q may contain certain forward-looking information within the meaning of the federal securities laws. The forward-looking information may include, among other information, (i)&#160;statements concerning our outlook for the future, (ii)&#160;statements of belief, anticipation or expectation, (iii)&#160;future plans, strategies or anticipated events, and (iv)&#160;similar information and statements concerning matters that are not historical facts. Such forward-looking information is subject to known and unknown variables, uncertainties, contingencies and risks that may cause actual events or results to differ materially from our expectations. Such known and unknown variables, uncertainties, contingencies and risks (collectively, &#8220;factors&#8221;) may also adversely affect Optical Cable Corporation and its subsidiaries (collectively, the &#8220;Company&#8221; or &#8220;OCC<sup style="vertical-align:top;line-height:120%;">&#174;</sup>&#8221;), the Company&#8217;s future results of operations and future financial condition, and/or the future equity value of the Company. Factors that could cause or contribute to such differences from our expectations or that could adversely affect the Company include, but are not limited to: the level of sales to key customers, including distributors; timing of certain projects and purchases by key customers; the economic conditions affecting network service providers; corporate and/or government spending on information technology; actions by competitors; fluctuations in the price of raw materials (including optical fiber, copper, gold and other precious metals, plastics and other materials); fluctuations in transportation costs; our dependence on customized equipment for the manufacture of certain of our products in certain production facilities; our ability to protect our proprietary manufacturing technology; market conditions influencing prices or pricing in one or more of the markets in which we participate, including the impact of increased competition; our dependence on a limited number of suppliers for certain product components; the loss of or conflict with one or more key suppliers or customers; an adverse outcome in any litigation, claims, and other actions or disputes, and potential litigation, claims, and other actions or disputes against us or with us; an adverse outcome in any regulatory reviews and audits and potential regulatory reviews and audits; adverse changes in state tax laws and/or positions taken by state taxing authorities affecting us; technological changes and introductions of new competing products; changes in end-user preferences for competing technologies relative to our product offering; economic conditions that affect the telecommunications sector, the data communications sector, certain technology sectors and/or certain industry market sectors (for example, commercial/enterprise, military, industrial, broadcast, mining, petrochemical, renewable energy and wireless carrier industry market sectors); economic conditions that affect U.S.-based manufacturers; economic conditions or changes in relative currency strengths (for example, the strengthening of the U.S. dollar relative to certain foreign currencies) and import and/or export tariffs imposed by the U.S. and other countries that affect certain geographic markets, industry market sectors, and/or the economy as a whole; changes in demand for our products from certain competitors for which we provide private label connectivity products; changes in the mix of products sold during any given period (due to, among other things, seasonality or varying strength or weaknesses in particular markets in which we participate) which may impact gross profits and gross profit margins or net sales; variations in orders and production volumes affecting fixed-costs coverage and production efficiencies which may impact gross profits and gross profit margins; variations in orders and production volumes of hybrid cables (fiber and copper) with high copper content, which tend to have lower gross profit margins; significant variations in sales resulting from: (i) high volatility within various geographic markets, within targeted markets and industries, for certain types of products, and/or with certain customers (whether related to the market generally or to specific customers&#8217; business in particular), (ii) market variations in existing product inventory levels available, generally or in certain markets, impacting sales orders for products, (iii) timing of large sales orders, and (iv) high sales concentration among a limited number of customers in certain markets, particularly the wireless carrier market; terrorist attacks or acts of war, any current or potential future military conflicts, and acts of civil unrest; cold wars and economic sanctions as a result of these activities; changes in the level of spending by the United States government, including, but not limited to military spending; ability to recruit and retain key personnel (including production personnel); poor labor relations; increasing labor costs; delays, extended lead times and/or changes in availability of needed raw materials, equipment and/or supplies; shipping and other logistics challenges; impact of inflation on costs, including raw materials and labor, and ability to pass along any increased costs to customers; impact of rising interest rates increasing the cost of capital; impact of cybersecurity risks and incidents and the related actual or potential costs and consequences of such risks and incidents, including costs and regulations to limit such risks; the impact of data privacy laws, including any applicable international privacy laws, and the related actual or potential costs and consequences; the impact of changes in accounting policies and related costs of compliance, including changes by the Securities and Exchange Commission (&#8220;SEC&#8221;), the Public Company Accounting Oversight Board (&#8220;PCAOB&#8221;), the Financial Accounting Standards Board (&#8220;FASB&#8221;), and/or the International Accounting Standards Board (&#8220;IASB&#8221;); our ability to continue to successfully comply with, and the cost of compliance with, the provisions of Section&#160;404 of the Sarbanes-Oxley Act of 2002 or any revisions to that act which apply to us; the impact of changes and potential changes in federal laws and regulations adversely affecting our business and/or which result in increases in our direct and indirect costs, including our direct and indirect costs of compliance with such laws and regulations; rising healthcare costs; impact of new or changed government laws and regulations on healthcare costs; the impact of changes in state or federal tax laws and regulations increasing our costs and/or impacting the net return to investors owning our shares; any changes in the status of our compliance with covenants with our lenders; our continued ability to maintain and/or secure future debt financing and/or equity financing to adequately finance our ongoing operations; the impact of future consolidation among competitors and/or among customers adversely affecting our position with our customers and/or our market position; actions by customers adversely affecting us in reaction to the expansion of our product offering in any manner, including, but not limited to, by offering products that compete with our customers, and/or by entering into alliances with, making investments in or with, and/or acquiring parties that compete with and/or have conflicts with our customers; voluntary or involuntary delisting of the Company&#8217;s common stock from any exchange on which it is traded; the deregistration by the Company from SEC reporting requirements as a result of the small number of holders of the Company&#8217;s common stock; adverse reactions by customers, vendors or other service providers to unsolicited proposals regarding the ownership or management of the Company; the additional costs of considering, responding to and possibly defending our position on unsolicited proposals regarding the ownership or management of the Company; direct and indirect impacts of weather, natural disasters and/or epidemic, pandemic or endemic diseases in the areas of the world in which we operate, market our products and/or acquire raw materials including impacts on supply chains, labor constraints impacting our production volumes and costs; any present or future government mandates, travel restrictions, shutdowns or other regulations regarding any epidemic, pandemic or endemic diseases; an increase in the number of shares of the Company&#8217;s common stock issued and outstanding; economic downturns generally and/or in one or more of the markets in which we operate; changes in market demand, exchange rates, productivity, market dynamics, market confidence, macroeconomic and/or other economic conditions in the areas of the world in which we operate and market our products; and our success in managing the risks involved in the foregoing.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGFTR" style="text-align: center; width: 100%">
<div class="hf-row">
<div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">14</div>
</div>
</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000"/>
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="hf-cell TOCLink" style="display: inline-block; text-align: left;"><a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">Table of Contents</a></div>
</div>
</div>
</div>

<p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">We caution readers that the foregoing list of important factors is not exclusive. Furthermore, we incorporate by reference those factors included in current reports on Form 8&#8209;K and/or in our other filings.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Dollar amounts presented in the following discussion have been rounded to the nearest hundred thousand, except in the case of amounts less than one million and except in the case of the table set forth in the &#8220;Results of Operations&#8221; section, the amounts in which both cases have been rounded to the nearest thousand.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"><b>Overview of Optical Cable Corporation</b></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Optical Cable Corporation (or OCC<sup style="vertical-align:top;line-height:120%;">&#174;</sup>) is a leading manufacturer of a broad range of fiber optic and copper data communication cabling and connectivity solutions primarily for the enterprise market and various harsh environment and specialty markets (collectively, the non-carrier markets), and also the wireless carrier market, offering integrated suites of high quality products which operate as a system solution or seamlessly integrate with other components. Our product offerings include designs for uses ranging from enterprise network, data center, residential, campus and Passive Optical LAN (&#8220;POL&#8221;) installations to customized products for specialty applications and harsh environments, including military, industrial, mining, petrochemical, renewable energy and broadcast applications, as well as the wireless carrier market. Our products include fiber optic and copper cabling, hybrid cabling (which includes fiber optic and copper elements in a single cable), fiber optic and copper connectors, specialty fiber optic, copper and hybrid connectors, fiber optic and copper patch cords, pre-terminated fiber optic and copper cable assemblies, racks, cabinets, datacom enclosures, patch panels, face plates, multimedia boxes, fiber optic reels and accessories and other cable and connectivity management accessories, and are designed to meet the most demanding needs of end-users, delivering a high degree of reliability and outstanding performance characteristics.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">OCC<sup style="vertical-align:top;line-height:120%;">&#174;</sup> is internationally recognized for pioneering the design and production of fiber optic cables for the most demanding military field applications, as well as of fiber optic cables suitable for both indoor and outdoor use, and creating a broad product offering built on the evolution of these fundamental technologies. OCC is also internationally recognized for pioneering the development of innovative copper connectivity technology and designs used to meet industry copper connectivity data communications standards.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Founded in 1983, Optical Cable Corporation is headquartered in Roanoke, Virginia with offices, manufacturing and warehouse facilities located in Roanoke, Virginia, near Asheville, North Carolina, and near Dallas, Texas. We primarily manufacture our fiber optic cables at our Roanoke facility which is ISO 9001:2015 registered and MIL-STD-790G certified, primarily manufacture our enterprise connectivity products at our Asheville facility which is ISO 9001:2015 registered, and primarily manufacture our harsh environment and specialty connectivity products at our Dallas facility which is ISO 9001:2015 registered and MIL-STD-790G certified.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">OCC designs, develops and manufactures fiber optic and hybrid cables for a broad range of enterprise, harsh environment, wireless carrier and other specialty markets and applications. We refer to these products as our fiber optic cable offering. OCC designs, develops and manufactures fiber and copper connectivity products for the enterprise market, including a broad range of enterprise and residential applications. We refer to these products as our enterprise connectivity product offering. OCC designs, develops and manufactures a broad range of specialty fiber optic connectors and connectivity solutions principally for use in military, harsh environment and other specialty applications. We refer to these products as our harsh environment and specialty connectivity product offering.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">We market and sell the products manufactured at our Dallas facility through our wholly owned subsidiary Applied Optical Systems, Inc. (&#8220;AOS&#8221;) under the names Optical Cable Corporation and OCC<sup style="vertical-align:top;line-height:120%;">&#174;</sup> by the efforts of our integrated OCC sales team.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">The OCC team seeks to provide top-tier communication solutions by bundling all of our fiber optic and copper data communication product offerings into systems that are best suited for individual data communication needs and application requirements of our customers and the end-users of our systems.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">OCC&#8217;s wholly owned subsidiary Centric Solutions LLC (&#8220;Centric Solutions&#8221;) provides cabling and connectivity solutions for the data center market. Centric Solutions&#8217; business is located at OCC&#8217;s facility near Dallas, Texas.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Optical Cable Corporation&#8482;, OCC<sup style="vertical-align:top;line-height:120%;">&#174;</sup>, Procyon<sup style="vertical-align:top;line-height:120%;">&#174;</sup>, Superior Modular Products&#8482;, SMP Data Communications&#8482;, Applied Optical Systems&#8482;, Centric Solutions&#8482; and associated logos are trademarks of Optical Cable Corporation.</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">15</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000"/>
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="TOCLink hf-cell" style="width: 100%; display: inline-block; text-align: left;"><a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">Table of Contents</a></div>
</div>
</div>
</div>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"><b>Summary of Company Performance for Second Quarter of Fiscal Year 2024</b></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:Times New Roman;font-size:10pt;">

		<tbody><tr>
			<td style="width:18pt;">&#160;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#9679;</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Consolidated net sales for the second quarter of fiscal year 2024 decreased 17.9% to $16.1 million, compared to $19.6 million for the same period last year, which we believe is consistent with weakness being experienced in our industry generally and in certain of our target markets. Net sales for the second quarter of fiscal year 2024 increased 8.5% compared to $14.9 million for the first quarter of fiscal year 2024.</p>
			</td>
		</tr>

</tbody></table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:Times New Roman;font-size:10pt;">

		<tbody><tr>
			<td style="width:18pt;">&#160;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#9679;</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Gross profit decreased 40.5% to $4.0 million in the second quarter of fiscal year 2024, compared to $6.8 million for the second quarter of fiscal year 2023, while gross profit increased 8.8% compared to $3.7 million for the first quarter of fiscal year 2024.</p>
			</td>
		</tr>

</tbody></table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:Times New Roman;font-size:10pt;">

		<tbody><tr>
			<td style="width:18pt;">&#160;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#9679;</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Gross profit margin (gross profit as a percentage of net sales) was 25.1% during the second quarter of fiscal year 2024, compared to 34.6% for the second quarter of fiscal year 2023 and compared to 25.0% for the first quarter of fiscal year 2024.</p>
			</td>
		</tr>

</tbody></table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:Times New Roman;font-size:10pt;">

		<tbody><tr>
			<td style="width:18pt;">&#160;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#9679;</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">SG&amp;A expenses were $5.3 million during the second quarter of fiscal year 2024, compared to $5.7 million for the same period last year. SG&amp;A expenses as a percentage of net sales were 33.0% during the second quarter of fiscal year 2024, compared to 28.9% during the same period in fiscal year 2023 and compared to 34.3% during the first quarter of fiscal year 2024.</p>
			</td>
		</tr>

</tbody></table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:Times New Roman;font-size:10pt;">

		<tbody><tr>
			<td style="width:18pt;">&#160;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#9679;</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Net loss was $1.6 million, or $0.21 per share, during the second quarter of fiscal year 2024, compared to net income of $2.4 million, or $0.31 per share, for the comparable period last year.</p>
			</td>
		</tr>

</tbody></table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 28pt;text-indent:-28pt;"><b>Results of Operations</b></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">We sell our products internationally and domestically to our customers which include major distributors, various regional and smaller distributors, original equipment manufacturers and value-added resellers. All of our sales to customers outside of the United States are denominated in U.S. dollars. We can experience fluctuations in the percentage of net sales to customers outside of the United States and in the United States from period to period based on the timing of large orders, coupled with the impact of increases and decreases in sales to customers in various regions of the world. Sales outside of the U.S. can also be impacted by fluctuations in the exchange rate of the U.S. dollar compared to other currencies.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"><i>Net sales</i> consist of gross sales of products by the Company and its subsidiaries on a consolidated basis less discounts, refunds and returns. Revenue is recognized at the time product is transferred to the customer (including distributors) at an amount that reflects the consideration expected to be received in exchange for the product. Our customers generally do not have the right of return unless a product is defective or damaged and is within the parameters of the product warranty in effect for the sale.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"><i>Cost of goods sold </i>consists of the cost of materials, product warranty costs and compensation costs, and overhead and other costs related to our manufacturing operations. The largest percentage of costs included in cost of goods sold is attributable to costs of materials.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Our gross profit margin percentages are heavily dependent upon product mix on a quarterly basis and may vary based on changes in product mix. To the extent not impacted by product mix, gross profit margins tend to be higher when we achieve higher net sales levels, as certain fixed manufacturing costs are spread over higher sales and other manufacturing efficiencies are more easily achieved. Hybrid cables (containing fiber and copper) with higher copper content tend to have lower gross profit margins.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGFTR" style="text-align: center; width: 100%">
<div class="hf-row">
<div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">16</div>
</div>
</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000"/>
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="hf-cell TOCLink" style="display: inline-block; text-align: left;"><a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">Table of Contents</a></div>
</div>
</div>
</div>

<p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"><i>Selling, general and administrative expenses</i> (&#8220;SG&amp;A expenses&#8221;) consist of the compensation costs for sales and marketing personnel, shipping costs, trade show expenses, customer support expenses, travel expenses, advertising, bad debt expense, the compensation costs for administration and management personnel, legal, accounting, advisory and professional fees, costs incurred to settle litigation or claims and other actions against us, and other costs associated with our operations.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"><i>Royalty income (expense), net</i> consists of royalty income earned on licenses associated with our patented products, net of royalty and related expenses.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"><i>Amortization of intangible assets</i> consists of the amortization of the costs, including legal fees, associated with internally developed patents that have been granted. Amortization of intangible assets is calculated using the straight-line method over the estimated useful lives of the intangible assets.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"><i>Other income (expense), net </i>consists of interest expense and other miscellaneous income and expense items not directly attributable to our operations.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">The following table sets forth and highlights fluctuations in selected line items from our condensed consolidated statements of operations for the periods indicated:</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;">

		<tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Three Months Ended </b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td>
			<td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Six Months Ended </b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td>
			<td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td>
		</tr>
		<tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>April 30,</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Percent</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>April 30,</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Percent</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2024</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Change</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2024</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Change</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 28%;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Net sales</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 9%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">16,112,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 9%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">19,620,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">(17.9</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)%</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 9%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">30,967,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 9%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">37,903,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">(18.3</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)%</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Gross profit</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">4,039,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">6,783,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">(40.5</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">7,752,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">13,304,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">(41.7</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">SG&amp;A expenses</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">5,320,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">5,662,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">(6.1</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">10,413,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">11,118,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">(6.3</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Income (loss) from operations</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">(1,301,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">1,100,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">(218.3</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">(2,701,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">2,146,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">(225.9</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Net income (loss)</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">(1,601,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">2,423,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">(166.1</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">(3,027,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">3,233,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 9%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">(193.6</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>

</tbody></table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 28pt;text-indent:-28pt;"><b>Three Months Ended April 30, 2024 and 2023</b></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 28pt;text-indent:-28pt;"><i>Net Sales</i></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Consolidated net sales for the second quarter of fiscal year 2024 decreased 17.9% to $16.1 million, compared to net sales of $19.6 million for the same period last year, and increased 8.5% compared to net sales of $14.9 million during the first quarter of fiscal year 2024. We experienced a decrease in net sales in both our enterprise and specialty markets, including the wireless carrier market, in the second quarter of fiscal year 2024, compared to the same period last year. We believe this is consistent with weakness being experienced in our industry generally and in certain of our target markets.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Net sales to customers in the United States decreased 17.7% and net sales to customers outside of the United States decreased 18.5% in the second quarter of fiscal year 2024, compared to the same period last year. We can experience fluctuations in sales from quarter to quarter in the various markets (both industries and geographies) in which we operate for various reasons.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">The second quarter of fiscal year 2023 was positively impacted by our higher-than-typical sales order backlog/forward load of more than $11.0 million that existed at the end of the first quarter of fiscal year 2023, while our sales order backlog/forward load at the end of the first quarter of fiscal year 2024 had returned to more normal levels at approximately $5.0 million. At the end of the second quarter of fiscal year 2024, our sales order backlog/forward load remains at a more typical level of approximately $5.6 million.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGFTR" style="text-align: center; width: 100%">
<div class="hf-row">
<div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">17</div>
</div>
</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000"/>
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="hf-cell TOCLink" style="display: inline-block; text-align: left;"><a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">Table of Contents</a></div>
</div>
</div>
</div>

<p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Additionally, net sales for the second quarter of fiscal year 2024 were negatively impacted by various macroeconomic pressures, risks and uncertainties in our industry&#8212;which we believe is consistent with weakness being experienced in our industry generally. While certain of our markets continue to show signs of softness (including our enterprise and wireless carrier markets), we believe there are positive indicators in certain of our other markets. Overall, we expect our net sales to begin to grow compared to the first half of fiscal year 2024.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 28pt;text-indent:-28pt;"><i>Gross Profit</i></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Our gross profit was $4.0 million in the second quarter of fiscal year 2024, a decrease of 40.5% compared to gross profit of $6.8 million in the second quarter of fiscal year 2023, while gross profit during the second quarter of fiscal year 2024 increased 8.8% compared to $3.7 million for the first quarter of fiscal year 2024.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Gross profit margin, or gross profit as a percentage of net sales, was 25.1% in the second quarter of fiscal year 2024 compared to 34.6% in the second quarter of fiscal year 2023 and compared to 25.0% for the first quarter of fiscal year 2024.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Gross profit margin for the second quarter of fiscal 2024 when compared to the same period last year was negatively impacted by lower volumes, as fixed charges were spread over lower sales, as well as decreased plant efficiency, as fewer sales and lower backlog impacted the flow of products through our manufacturing facilities&#8212;the impact of operating leverage. Additionally, our gross profit margin percentages are heavily dependent upon product mix on a quarterly basis and may vary based on changes in product mix.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">While production volume decreased during the second quarter of fiscal year 2024 compared to the same period last year, we have not implemented reductions in production personnel like others in our industry have done&#8212;with various personnel reductions at manufacturers and distributors. Our planned restraint in this regard is consistent with our view of expected opportunities as we continue fiscal year 2024, as well as considering the time it takes to train new production personnel in certain areas of our production operations.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 28pt;text-indent:-28pt;"><i>Selling, General, and Administrative Expenses</i></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">SG&amp;A expenses decreased to $5.3 million during the second quarter of fiscal year 2024, compared to $5.7 million during the second quarter of fiscal year 2023. SG&amp;A expenses as a percentage of net sales were 33.0% in the second quarter of fiscal year 2024, compared to 28.9% in the second quarter of fiscal year 2023, as fixed SG&amp;A expenses were spread over lower net sales. By comparison, SG&amp;A expenses as a percentage of net sales were 34.3% during the first quarter of fiscal year 2024.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">The decrease in SG&amp;A expenses during the second quarter of fiscal year 2024 compared to the same period last year was primarily the result of decreases in employee and contracted sales personnel-related costs totaling $248,000 and shipping costs totaling $108,000. Included in employee and contracted sales personnel-related costs are employee incentives and commissions which decreased due to decreased net sales and the financial results during the second quarter of fiscal year 2024. Shipping costs decreased primarily due to the decrease in net sales.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"><i>Royalty Income (Expense), Net</i></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">We recognized royalty expense, net of royalty income, totaling $7,000 during the second quarter of fiscal years 2024 and 2023. Royalty expense and/or income may fluctuate based on sales of related licensed products and estimates of amounts for non-licensed product sales, if any.</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">&#160;</p>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">18</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000"/>
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="TOCLink hf-cell" style="width: 100%; display: inline-block; text-align: left;"><a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">Table of Contents</a></div>
</div>
</div>
</div>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"><i>Amortization of Intangible Assets</i></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">We recognized $14,000 of amortization expense, associated with intangible assets, during the second quarter of fiscal years 2024 and 2023.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 28pt;text-indent:-28pt;"><i>Income (loss) from operations</i></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;text-indent:1pt;">We reported a loss from operations of $1.3 million for the second quarter of fiscal year 2024, compared to income from operations of $1.1 million for the second quarter of fiscal year 2023, and compared to a net loss from operations of $1.4 million for the first quarter of fiscal year 2024.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;text-indent:1pt;"><i>Other Income (Expense), Net</i></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">We recognized other expense, net in the second quarter of fiscal year 2024 of $293,000, compared to other income, net of $1.4 million in the second quarter of fiscal year 2023.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Other expense, net for the second quarter of fiscal year 2024 is comprised primarily of interest expense and other miscellaneous items. The change in other expense, net during the second quarter of fiscal year 2024 compared to the same period last year was primarily due to gain on insurance proceeds received in the second quarter of fiscal year 2023 for damage to property and equipment totaling $1.7 million, partially offset by interest expense and other miscellaneous items, that did not recur in fiscal year 2024.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 28pt;text-indent:-28pt;"><i>Income (Loss) Before Income Taxes </i></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">We reported a loss before income taxes of $1.6 million for the second quarter of fiscal year 2024, compared to income before income taxes of $2.5 million for the second quarter of fiscal year 2023. The change was primarily due to the decrease in gross profit of $2.7 million and gain on insurance proceeds received in the second quarter of fiscal year 2023 for damage to property and equipment of $1.7 million, partially offset by the decrease in SG&amp;A expenses of $343,000.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"><i>Income Tax Expense</i></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Income tax expense totaled $7,000 in the second quarter of fiscal year 2024, compared to $75,000 in the second quarter of fiscal year 2023. Our effective tax rate was less than negative one percent for the second quarter of fiscal year 2024 and 3.0% for the second quarter of fiscal year 2023.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Fluctuations in our effective tax rates are primarily due to permanent differences in U.S. GAAP and tax accounting for various tax deductions and benefits, but can also be significantly different from the statutory tax rate when income or loss before taxes is at a level such that permanent differences in U.S. GAAP and tax accounting treatment have a disproportional impact on the projected effective tax rate.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">We previously established a valuation allowance against all of our net deferred tax assets. As a result of establishing a full valuation allowance against our net deferred tax assets, if we generate sufficient taxable income in subsequent periods to realize a portion or all of our net deferred tax assets, our effective income tax rate could be unusually low due to the tax benefit attributable to the necessary decrease in our valuation allowance. Further, if we generate losses before taxes in subsequent periods, our effective income tax rate could also be unusually low as any increase in our net deferred tax asset from such a net operating loss for tax purposes would be offset by a corresponding increase to our valuation allowance against our net deferred tax assets.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">If we generate sufficient income before taxes in subsequent periods such that U.S. GAAP would permit us to conclude that the removal of any valuation allowance against our net deferred tax asset is appropriate, then during the period in which such determination is made, we will recognize the non-cash benefit of such removal of the valuation allowance in income tax expense on our consolidated statement of operations, which will increase net income and will also increase the net deferred tax asset on our consolidated balance sheet. If we do not generate sufficient income before taxes in subsequent periods such that U.S. GAAP would permit us to conclude that the reduction or removal of any valuation allowance against our net deferred tax asset is appropriate, then no such non-cash benefit would be realized. There can be no assurance regarding any future realization of the benefit by us of all or part of our net deferred tax assets.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGFTR" style="text-align: center; width: 100%">
<div class="hf-row">
<div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">19</div>
</div>
</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000"/>
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="hf-cell TOCLink" style="display: inline-block; text-align: left;"><a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">Table of Contents</a></div>
</div>
</div>
</div>

<p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">As of October 31, 2023, the valuation allowance against our total gross deferred tax assets totaled $4.0 million.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 28pt;text-indent:-28pt;"><i>Net Income (Loss)</i></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Net loss for the second quarter of fiscal year 2024 was $1.6 million, or $0.21 per share, compared to net income of $2.4 million, or $0.31 per share, for the second quarter of fiscal year 2023. This change was primarily due to the decrease in income before income taxes of $4.1 million, which includes a $1.7 million decrease in gain on insurance proceeds, net.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 28pt;text-indent:-28pt;"><b>Six Months Ended April 30, 2024 and 2023</b></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 28pt;text-indent:-28pt;"><i>Net Sales</i></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Consolidated net sales for the first half of fiscal year 2024 were $31.0 million, a decrease of 18.3% compared to net sales of $37.9 million for the same period last year. We experienced a decrease in net sales in both our enterprise and specialty markets, including the wireless carrier market, in the first half of fiscal year 2024, compared to the same period last year. We believe this is consistent with weakness being experienced in our industry generally and in certain of our target markets.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Net sales to customers in the United States decreased 17.8% and net sales to customers outside of the United States decreased 20.3% in the first half of fiscal year 2024, compared to the same period last year. We can experience fluctuations in sales from quarter to quarter in the various markets (both industries and geographies) in which we operate for various reasons.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">The first half of fiscal year 2023 was positively impacted by our higher-than-typical sales order backlog/forward load of more than $12.0 million that existed at the end of fiscal year 2022, while our sales order backlog/forward load at the end of fiscal year 2023 had returned to more normal levels at approximately $5.4 million. At the end of the first half of fiscal year 2024, our sales order backlog/forward load remains at a more typical level of approximately $5.6 million.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Additionally, net sales for the first half of fiscal year 2024 were negatively impacted by various macroeconomic pressures, risks and uncertainties in our industry&#8212;which we believe is consistent with weakness being experienced in our industry generally. While certain of our markets continue to show signs of softness (including our enterprise and wireless carrier markets), we believe there are positive indicators in certain of our other markets. Overall, we expect our net sales to begin to grow compared to the first half of fiscal year 2024.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 28pt;text-indent:-28pt;"><i>Gross Profit</i></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Our gross profit was $7.8 million in the first half of fiscal year 2024, a decrease of 41.7% compared to gross profit of $13.3 million in the first half of fiscal year 2023. Gross profit margin was 25.0% in the first half of fiscal year 2024 compared to 35.1% in the first half of fiscal year 2023.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Gross profit margin for the first half of fiscal 2024 was negatively impacted by lower volumes, as fixed charges were spread over lower sales, as well as decreased plant efficiency, as fewer sales and lower backlog impacted the flow of products through our manufacturing facilities&#8212;the impact of operating leverage. Additionally, our gross profit margin percentages are heavily dependent upon product mix on a quarterly basis and may vary based on changes in product mix.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGFTR" style="text-align: center; width: 100%">
<div class="hf-row">
<div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">20</div>
</div>
</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000"/>
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="hf-cell TOCLink" style="display: inline-block; text-align: left;"><a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">Table of Contents</a></div>
</div>
</div>
</div>

<p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">While production volume decreased during the first half of fiscal year 2024 compared to the same period last year, we have not implemented reductions in production personnel like others in our industry have done&#8212;with various personnel reductions at manufacturers and distributors. Our planned restraint in this regard is consistent with our view of expected opportunities as we continue fiscal year 2024, as well as considering the time it takes to train new production personnel in certain areas of our production operations.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 28pt;text-indent:-28pt;"><i>Selling, General, and Administrative Expenses</i></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">SG&amp;A expenses decreased 6.3% to $10.4 million during the first half of fiscal year 2024, compared to $11.1 million for the same period last year. SG&amp;A expenses as a percentage of net sales were 33.6% in the first half of fiscal year 2024, compared to 29.3% in the first half of fiscal year 2023, as fixed SG&amp;A expenses were spread over lower net sales.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">The decrease in SG&amp;A expenses during the first half of fiscal year 2024 compared to the same period last year was primarily the result of decreases in employee and contracted sales personnel-related costs totaling $459,000 and shipping costs totaling $215,000. Included in employee and contracted sales personnel-related costs are employee incentives and commissions which decreased due to decreased net sales and the financial results during the first half of fiscal year 2024. Shipping costs decreased primarily due to the decrease in net sales.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"><i>Royalty Income (Expense), Net</i></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">We recognized royalty expense, net of royalty income, totaling $13,000 during the first half of fiscal years 2024 and 2023. Royalty income and/or expense may fluctuate based on sales of related licensed products and estimates of amounts for non-licensed product sales, if any.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"><i>Amortization of Intangible Assets</i></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">We recognized $27,000 of amortization expense, associated with intangible assets, during the first half of fiscal years 2024 and 2023.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 28pt;text-indent:-28pt;"><i>Income (loss) from operations</i></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt; text-indent: 1pt; text-align: justify;">We reported a loss from operations of $2.7 million for the first half of fiscal year 2024, compared to income from operations of $2.1 million for the first half of fiscal year 2023.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 28pt;text-indent:-28pt;"><i>Other Income (Expense), Net</i></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">We recognized other expense, net in the first half of fiscal year 2024 of $311,000, compared to other income, net of $1.2 million in the first half of fiscal year 2023. Other expense, net for the first half of fiscal year 2024 is comprised of gain on insurance proceeds totaling $219,000, partially offset by interest expense and other miscellaneous items.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">The change in other expense, net during the first half of fiscal year 2024 compared to the same period last year was primarily due to a decrease in gain on insurance proceeds received in the first half of fiscal year 2023 for damage to property and equipment totaling $1.5 million.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGFTR" style="text-align: center; width: 100%">
<div class="hf-row">
<div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">21</div>
</div>
</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000"/>
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="hf-cell TOCLink" style="display: inline-block; text-align: left;"><a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">Table of Contents</a></div>
</div>
</div>
</div>

<p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 28pt;text-indent:-28pt;"><i>Income (Loss) Before Income Taxes </i></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">We reported a loss before income taxes of $3.0 million for the first half of fiscal year 2024, compared to income before income taxes of $3.3 million for the first half of fiscal year 2023. The change was primarily due to the decrease in gross profit of $5.6 million and the decrease in gain on insurance proceeds, net of $1.5 million, partially offset by the decrease in SG&amp;A expenses of $705,000.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"><i>Income Tax Expense (Benefit)</i></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Income tax expense totaled $14,000 in the first half of fiscal year 2024, compared to $107,000 in the first half of fiscal year 2023. Our effective tax rate was less than negative one percent for the first half of fiscal year 2024 and 3.2% for the first half of fiscal year 2023.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Fluctuations in our effective tax rates are primarily due to permanent differences in U.S. GAAP and tax accounting for various tax deductions and benefits, but can also be significantly different from the statutory tax rate when income or loss before taxes is at a level such that permanent differences in U.S. GAAP and tax accounting treatment have a disproportional impact on the projected effective tax rate.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">We previously established a valuation allowance against all of our net deferred tax assets. As a result of establishing a full valuation allowance against our net deferred tax assets, if we generate sufficient taxable income in subsequent periods to realize a portion or all of our net deferred tax assets, our effective income tax rate could be unusually low due to the tax benefit attributable to the necessary decrease in our valuation allowance. Further, if we generate losses before taxes in subsequent periods, our effective income tax rate could also be unusually low as any increase in our net deferred tax asset from such a net operating loss for tax purposes would be offset by a corresponding increase to our valuation allowance against our net deferred tax assets.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">If we generate sufficient income before taxes in subsequent periods such that U.S. GAAP would permit us to conclude that the removal of any valuation allowance against our net deferred tax asset is appropriate, then during the period in which such determination is made, we will recognize the non-cash benefit of such removal of the valuation allowance in income tax expense on our consolidated statement of operations, which will increase net income and will also increase the net deferred tax asset on our consolidated balance sheet. If we do not generate sufficient income before taxes in subsequent periods such that U.S. GAAP would permit us to conclude that the reduction or removal of any valuation allowance against our net deferred tax asset is appropriate, then no such non-cash benefit would be realized. There can be no assurance regarding any future realization of the benefit by us of all or part of our net deferred tax assets.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">As of October 31, 2023, the valuation allowance against our total gross deferred tax assets totaled $4.0 million.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"><i>Net Income (Loss)</i></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Net loss for the first half of fiscal year 2024 was $3.0 million, or $0.39 per share, compared to net income of $3.2 million, or $0.41 per share, for the first half of fiscal year 2023. This change was primarily due to the decrease in income before income taxes of $6.4 million, which includes the $1.5 million decrease in gain on insurance proceeds, net.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><b>Financial Condition</b></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Total assets decreased $4.0 million, or 9.1%, to $39.9 million at April 30, 2024, from $43.9 million at October 31, 2023. This decrease was primarily due to a $430,000 decrease in trade accounts receivable, net, and a $2.3 million decrease in inventories. The decrease in trade accounts receivable, net resulted from the decrease in net sales in the second quarter of fiscal year 2024 when compared to the fourth quarter of fiscal year 2023. Inventories decreased largely as the result of the timing of certain raw material purchases as well as lower replenishment rates due to lower sales and the timing of sales of stock inventory.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGFTR" style="text-align: center; width: 100%">
<div class="hf-row">
<div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">22</div>
</div>
</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000"/>
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="hf-cell TOCLink" style="display: inline-block; text-align: left;"><a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">Table of Contents</a></div>
</div>
</div>
</div>

<p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Total liabilities decreased $1.1 million, or 5.8%, to $18.0 million at April 30, 2024, from $19.2&#160;million at October&#160;31, 2023. The decrease in total liabilities was primarily due to a decrease in accounts payable and accrued expenses, including accrued compensation and payroll taxes, totaling $649,000, primarily resulting from the timing of certain vendor and payroll related payments, and net repayments on our Revolver totaling $278,000.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Total shareholders&#8217; equity at April 30, 2024 decreased $2.9 million in the first half of fiscal year 2024 resulting primarily from a net loss of $3.0 million.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 28pt;text-indent:-28pt;"><b>Liquidity and Capital Resources</b></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Our primary capital needs have been to fund working capital requirements through payments on our Revolver. Our primary source of capital for these purposes has been existing cash, cash provided by operations and borrowings under our Revolver (see &#8220;Credit Facilities&#8221; below).</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Our cash totaled $1.1 million as of April 30, 2024, a decrease of $379,000 compared to $1.5 million as of October 31, 2023. The decrease in cash for the six months ended April 30, 2024 primarily resulted from net cash used in financing activities of $474,000 (including a $278,000 net reduction in our Revolver) and capital expenditures of $236,000, partially offset by cash provided by operating activities of $113,000 and insurance proceeds, net totaling $219,000.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">On April 30, 2024, we had working capital of $24.3 million compared to $27.3 million on October 31, 2023. The ratio of current assets to current liabilities as of April 30, 2024 was 4.4 to 1.0, compared to 4.5 to 1.0 as of October 31, 2023. The decrease in working capital and in the current ratio was primarily due to the decrease in cash of $379,000, the decrease in trade accounts receivable, net of $430,000, and the decrease in inventories of $2.3 million, partially offset by the decrease in accounts payable and accrued expenses, including accrued compensation and payroll taxes, totaling $649,000.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">As of April 30, 2024 and October 31, 2023, we had outstanding loan balances under our Revolver totaling $8.0 million and $8.3 million, respectively. As of April 30, 2024 and October 31, 2023, we had other outstanding bank loan balances, excluding our Revolver, totaling $2.7 million.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><i>Net Cash</i></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Net cash provided by operating activities was $113,000 in the first half of fiscal year 2024, compared to net cash used in operating activities of $1.5 million for the first half of fiscal year 2023. Net cash provided by operating activities during the first half of fiscal year 2024 primarily resulted from certain adjustments to reconcile a net loss of $3.0 million to net cash provided by operating activities including depreciation and amortization of $431,000 and share-based compensation expense of $251,000. Additionally, the cash flow impact of decreases in accounts receivable, net of $447,000 and decreases in inventories of $2.3 million further contributed to net cash provided by operating activities. All of the aforementioned factors positively affecting cash provided by operating activities were partially offset by the cash flow impact of decreases in accounts payable and accrued expenses, including accrued compensation and payroll taxes, of $639,000 and an adjustment to reconcile a net loss of $3.0 million to net cash provided by operating activities for gain on insurance proceeds, net totaling $219,000.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Net cash used in operating activities during the first half of fiscal year 2023 primarily resulted from an increase in inventories totaling $3.7 million, the cash flow impact of increases in trade accounts receivable, net totaling $358,000, and an adjustment to reconcile net income of $3.2 million to net cash used in operating activities for the gain on insurance proceeds received for damage to property and equipment totaling $1.7 million, partially offset by certain other adjustments to reconcile net income of $3.2 million to net cash used in operating activities including depreciation and amortization of $497,000 and share-based compensation expense of $290,000.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGFTR" style="text-align: center; width: 100%">
<div class="hf-row">
<div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">23</div>
</div>
</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000"/>
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="hf-cell TOCLink" style="display: inline-block; text-align: left;"><a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">Table of Contents</a></div>
</div>
</div>
</div>

<p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Net cash used in investing activities totaled $17,000 in the first half of fiscal year 2024, compared to net cash provided by investing activities of $1.5 million in the first half of fiscal year 2023. Net cash used in investing activities during the first half of fiscal year 2024 resulted primarily from purchases of property and equipment and deposits for the purchase of property and equipment totaling $236,000, partially offset by net insurance proceeds of $219,000. Net cash provided by investing activities during the first half of fiscal year 2023 resulted primarily from the net insurance proceeds received for damage to property and equipment totaling $1.7 million, partially offset by purchases of property and equipment and deposits for the purchase of property and equipment totaling $230,000.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Net cash used in financing activities totaled $474,000 for the first half of fiscal year 2024, compared to net cash provided by financing activities of $1.7 million in the first half of fiscal year 2023. Net cash used in financing activities in the first half of fiscal year 2024 resulted primarily from net repayments on our revolving line of credit totaling $278,000. Net cash provided by financing activities in the first half of fiscal year 2023 resulted primarily from net proceeds on our revolving line of credit totaling $2.0 million, partially offset by principal payments on long-term debt totaling $168,000.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"><i>Credit Facilities</i></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">We have credit facilities consisting of a real estate term loan, as amended and restated (the &#8220;Virginia Real Estate Loan&#8221;) and a Revolving Credit Master Promissory Note and related Loan and Security Agreement (collectively, the &#8220;Revolver&#8221;).</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">The Virginia Real Estate Loan is with Northeast Bank and is payable in monthly installments of principal and interest. Principal is calculated using the unpaid balance of the loan and a two hundred forty (240) month amortization schedule. Interest is computed on the aggregate principal balance outstanding at a rate equal to the Prime Rate, adjusted monthly on the fifth day of each calendar month in accordance with changes to the Prime Rate, provided, however, that the interest rate is never less than 8.5% per annum on the basis of a 360-day year times the actual number of days elapsed. The Prime Rate was 8.5% per annum at April 30, 2024 and October 31, 2023. The maturity date of the Virginia Real Estate Loan is May 5, 2026.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">The Loan remains generally secured by a first lien deed of trust on the land and buildings at our headquarters and manufacturing facilities located in Roanoke, Virginia. All other terms of the Virginia Real Estate Loan remain unaltered and remain in full force and effect.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">The Company had an outstanding balance on its Virginia Real Estate Loan of $2.7 million, as of April 30, 2024.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">The Revolver with North Mill Capital LLC (doing business as SLR Business Credit, &#8220;SLR&#8221;) provides us with one or more advances in an amount up to: (a) 85% of the aggregate outstanding amount of eligible accounts (the &#8220;eligible accounts loan value&#8221;); plus (b) the lowest of (i) an amount up to 35% of the aggregate value of eligible inventory, (ii) $5.0 million, and (iii) an amount not to exceed 100% of the then outstanding eligible accounts loan value; minus (c) $1.15 million.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">The maximum aggregate principal amount subject to the Revolver is $18.0 million. Interest accrues on the daily balance at the per annum rate of 1.5% above the Prime Rate in effect from time to time, but not less than 4.75% (the &#8220;Applicable Rate&#8221;). As a result, the Revolver accrued interest at a 10.0% rate at April 30, 2024 and October 31, 2023. In the event of a default, interest may become 6.0% above the Applicable Rate. The termination date of the Revolver is July 24, 2025 and the loan may be extended in one year periods subject to the agreement of SLR.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGFTR" style="text-align: center; width: 100%">
<div class="hf-row">
<div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">24</div>
</div>
</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000"/>
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="hf-cell TOCLink" style="display: inline-block; text-align: left;"><a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">Table of Contents</a></div>
</div>
</div>
</div>

<p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">The Revolver is secured by all of the following assets: properties, rights and interests in property of the Company whether now owned or existing, or hereafter acquired or arising, and wherever located; all accounts, equipment, commercial tort claims, general intangibles, chattel paper, inventory, negotiable collateral, investment property, financial assets, letter-of-credit rights, supporting obligations, deposit accounts, money or assets of the Company, which hereafter come into the possession, custody, or control of SLR; all proceeds and products, whether tangible or intangible, of any of the foregoing, including proceeds of insurance covering any or all of the foregoing; any and all tangible or intangible property resulting from the sale, lease, license or other disposition of any of the foregoing, or any portion thereof or interest therein, and all proceeds thereof; and any other assets of the Company which may be subject to a lien in favor of SLR as security for the obligations under the Loan Agreement.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">As of April 30, 2024, we had $8.0 million of outstanding borrowings on our Revolver and $2.0 million in available credit.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"><i>Capital Expenditures</i></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">We did not have any material commitments for capital expenditures as of April 30, 2024. During our 2024 fiscal year budgeting process, we included an estimate for capital expenditures of $1.0 million for the fiscal year. We anticipate these expenditures, to the extent made, will be funded out of our working capital, cash provided by operations or borrowings under our Revolver, as appropriate. Capital expenditures are reviewed and approved based on a variety of factors including, but not limited to, current cash flow considerations, the expected return on investment, project priorities, impact on current or future product offerings, availability of personnel necessary to implement and begin using acquired equipment, and economic conditions in general. Additionally, total capital expenditures exceeding $1.0 million per fiscal year would require approval from our lender.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Corporate acquisitions and other strategic investments, if any, are considered outside of our annual capital expenditure budgeting process.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><i>Future Cash Flow Considerations</i></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">We believe that our future cash flow from operations, our cash on hand and our existing credit facilities will be adequate to fund our operations for at least the next twelve months.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">From time to time, we are involved in various claims, legal actions and regulatory reviews arising in the ordinary course of business. In the opinion of management, the ultimate disposition of these matters will not have a material adverse effect on our financial position, results of operations or liquidity.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 28pt;text-indent:-28pt;"><b>Seasonality</b></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">We typically expect net sales to be relatively lower in the first half of each fiscal year and relatively higher in the second half of each fiscal year, and excluding other volatility, we would normally expect 48% of total net sales to occur during the first half of a fiscal year and 52% of total net sales to occur during the second half of a fiscal year. We believe this historical seasonality pattern is generally indicative of an overall trend and reflective of the buying patterns and budgetary cycles of our customers. However, this pattern may be altered during any quarter or year by the quarterly and annual volatility of orders received for the wireless carrier market, the timing of larger projects, timing of orders from larger customers, other economic factors impacting our industry or impacting the industries of our customers and end-users, and various macroeconomic conditions. While we believe seasonality may be a factor that impacts our quarterly net sales results, particularly when excluding the volatility of sales in the wireless carrier market, we are not able to reliably predict net sales based on seasonality because these other factors can also, and often do, substantially impact our net sales patterns during the year.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGFTR" style="text-align: center; width: 100%">
<div class="hf-row">
<div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">25</div>
</div>
</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000"/>
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="hf-cell TOCLink" style="display: inline-block; text-align: left;"><a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">Table of Contents</a></div>
</div>
</div>
</div>

<p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"><b>Critical Accounting Policies and Estimates</b></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Our discussion and analysis of financial condition and results of operations is based on the condensed consolidated financial statements and accompanying condensed notes that have been prepared in accordance with U.S. generally accepted accounting principles (&#8220;U.S. GAAP&#8221;) for interim financial information and the instructions to Form 10&#8209;Q and Regulation S&#8209;X. The preparation of these condensed consolidated financial statements requires management 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 condensed consolidated financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Note 1 to the consolidated financial statements filed with our Annual Report on Form 10-K for fiscal year 2023 provides a summary of our significant accounting policies. Those significant accounting policies detailed in our fiscal year 2023 Form 10-K did not change during the period from November 1, 2023 through April 30, 2024.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><b>New Accounting Standards</b></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">In November 2023, the FASB issued Accounting Standards Update&#160;2023-07,&#160;<i>Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures</i>. ASU 2023-07 requires enhanced disclosures about significant segment expenses and enhanced disclosures in interim periods. The guidance in ASU 2023-07 will be applied retrospectively and is effective for annual reporting periods in fiscal years beginning after December 15, 2023 and interim reporting periods in fiscal years beginning after December 31, 2024, with early adoption permitted. We are currently evaluating the impact ASU&#160;2023-07 will have on our financial statement disclosures.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">In December 2023, the FASB issued Accounting Standards Update&#160;2023-09,&#160;Income Taxes (Topic 740): Improvements to Income Tax Disclosures (&#8220;ASU 2023-09&#8221;). The objective of ASU&#160;2023-09&#160;is to enhance disclosures related to income taxes, including specific thresholds for inclusion within the tabular disclosure of income tax rate reconciliation and specified information about income taxes paid. ASU&#160;2023-09&#160;is effective for public companies starting in annual periods beginning after December 15, 2024, with early adoption permitted. We are currently evaluating the impact ASU&#160;2023-09 will have on our financial statement disclosures.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">There are no other new accounting standards issued, but not yet adopted by us, which are expected to materially impact our financial position, operating results or financial statement disclosures.</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">&#160;</p>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGFTR" style="text-align: center; width: 100%">
<div class="hf-row">
<div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">26</div>
</div>
</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000"/>
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="hf-cell TOCLink" style="display: inline-block; text-align: left;"><a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">Table of Contents</a></div>
</div>
</div>
</div>

<p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"><b><a id="item4" title="item4" href="#"></a>Item 4. Controls and Procedures</b></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">The Company maintains disclosure controls and procedures (as defined in Rules 13a-15(e) and 15d-15(e) under the Securities Exchange Act of 1934, as amended (the &#8220;Exchange Act&#8221;)) that are designed to be effective in providing reasonable assurance that information required to be disclosed in reports under the Exchange Act are recorded, processed and summarized and reported within the time periods specified in the rules and forms of the Securities and Exchange Commission (the &#8220;SEC&#8221;), and that such information is accumulated and communicated to management to allow for timely decisions regarding required disclosure.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Our management evaluated, with the participation of our Chief Executive Officer (principal executive officer) and Chief Financial Officer (principal financial officer), the effectiveness of the Company&#8217;s disclosure controls and procedures as of April 30, 2024. Based on this evaluation process, the Chief Executive Officer and Chief Financial Officer have concluded that the Company&#8217;s disclosure controls and procedures were effective as of April 30, 2024, and that there were no changes in the Company&#8217;s internal control over financial reporting that occurred during the last fiscal quarter ended April 30, 2024 that have materially affected, or are reasonably likely to materially affect, the Company&#8217;s internal control over financial reporting.</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">&#160;</p>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGFTR" style="text-align: center; width: 100%">
<div class="hf-row">
<div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">27</div>
</div>
</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000"/>
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="hf-cell TOCLink" style="display: inline-block; text-align: left;"><a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">Table of Contents</a></div>
</div>
</div>
</div>

<p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#160;</p>

<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: center;"><b><a id="part2" title="part2" href="#"></a>PART II.</b>&#160;<b> OTHER INFORMATION</b></p>

<p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#160;</p>

<div>&#160;</div>

<ix:nonNumeric contextRef="d_2024-02-01_2024-04-30" name="ecd:MtrlTermsOfTrdArrTextBlock" id="c568" escape="true">
<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><b><a id="item5" title="item5" href="#"></a>Item 5. Other Information</b></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">At the end of December 2022, an office building and its contents at the Company&#8217;s Asheville facilities sustained water damage resulting from a burst pipe in the sprinkler system, likely due to extreme low temperatures in the area during the days leading up to the event. This office building is separate from the Company&#8217;s manufacturing building which houses its manufacturing operations and certain offices at the same location. There was <span style="-sec-ix-hidden:c570"><span style="-sec-ix-hidden:c571"><span style="-sec-ix-hidden:c572"><span style="-sec-ix-hidden:c573">no</span></span></span></span> significant impact to the Company&#8217;s operations. The Company has insurance coverage for the office building, its contents and certain business expenses to cover the losses incurred.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">During the first half of fiscal year 2024, the Company recognized a gain on insurance proceeds, net for damage to property and equipment totaling $219,000 which is reflected as income under other income (expense), net on the Company&#8217;s condensed consolidated statement of operations. To the extent the Company incurs expenses in future periods to restore, repair or replace damaged assets, it may recognize offsetting losses in those future periods. At this time, the Company does not expect any future restoration and repair costs to exceed any insurance proceeds.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<ix:exclude><div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGNUM" style="text-align: center; width: 100%; font-size: 10pt; font-family: Times New Roman;">28</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000"/>
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="TOCLink hf-cell" style="width: 100%; display: inline-block; text-align: left;"><a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">Table of Contents</a></div>
</div>
</div>
</div></ix:exclude>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
</ix:nonNumeric>

<div>&#160;</div>

<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: center;"><b>PART II.</b>&#160;<b> OTHER INFORMATION</b></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><b><a id="item6" title="item6" href="#"></a>Item 6. Exhibits </b></p>

<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Exhibit Index</b></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 90%; margin-left: 5%; margin-right: 5%;">

		<tbody><tr>
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;"><b><span style="text-decoration: underline; ">Exhibit No.</span></b></td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 51.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><span style="text-decoration: underline; ">Description</span></b></td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 51.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">3.1</p>
			</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 51.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><a href="http://www.sec.gov/Archives/edgar/data/1000230/000091664101501441/dex1.txt" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Articles of Amendment filed November 5, 2001 to the Amended and Restated Articles of Incorporation, as amended through November 5, 2001 (incorporated herein by reference to Exhibit 1 to the Company&#8217;</span><span style="text-decoration: underline; ">s Form 8-A12G filed with the Commission on November 5, 2001).</span></a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;">&#160;</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 51.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;">3.2</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 51.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: justify;"><a href="http://www.sec.gov/Archives/edgar/data/1000230/000112726402000123/occ_def.txt" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Articles of Amendment filed July 5, 2002 to the Amended and Restated Articles of Incorporation, as amended through July 5, 2002 (incorporated herein by reference to Appendix A to the Company&#8217;</span><span style="text-decoration: underline; ">s definitive proxy statement on Form 14A filed July 5, 2002).</span></a></td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; text-align: center;">&#160;</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 51.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">3.3</p>
			</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 51.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><a href="http://www.sec.gov/Archives/edgar/data/1000230/000119312511245791/d228112dex32.htm" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Amended and Restated Bylaws of Optical Cable Corporation&#160;effective October 15, 2010 (incorporated herein by reference to Exhibit 3.2 to the Company</span><span style="text-decoration: underline; ">&#8217;</span><span style="text-decoration: underline; ">s Quarterly Report on Form 10-Q for the third quarter ended July</span><span style="text-decoration: underline; ">&#160;</span><span style="text-decoration: underline; ">31, 2011).</span></a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 51.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">3.4</p>
			</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 51.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><a href="http://www.sec.gov/Archives/edgar/data/1000230/000143774923006415/ex_483937.htm" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Amended and Restated Bylaws of Optical Cable Corporation effective March 9, 2023&#160;(incorporated herein by reference to Exhibit 3.4 to the Company</span><span style="text-decoration: underline; ">&#8217;</span><span style="text-decoration: underline; ">s Quarterly Report on Form 10-Q for the first quarter ended January 31, 2023).</span></a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 51.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">4.1</p>
			</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 51.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><a href="http://www.sec.gov/Archives/edgar/data/1000230/000119312504154716/dex41.htm" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Form of certificate representing Common Stock (incorporated herein by reference to Exhibit 4.1 to the Company&#8217;</span><span style="text-decoration: underline; ">s Quarterly Report on Form 10-Q for the third quarter ended July 31, 2004 (file number 0-27022)).</span></a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 51.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">4.2</p>
			</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 51.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><a href="http://www.sec.gov/Archives/edgar/data/1000230/000119312512386554/d406982dex42.htm" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Form of certificate representing Common Stock (incorporated herein by reference to Exhibit 4.2 to the Company&#8217;</span><span style="text-decoration: underline; ">s Quarterly Report on Form 10-Q for the third quarter ended July 31, 2012).</span></a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 51.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">4.3</p>
			</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 51.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><a href="http://www.sec.gov/Archives/edgar/data/1000230/000119312509014313/dex417.htm" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Corrected Credit Line Deed of Trust dated June 4, 2008 between Optical Cable Corporation as Grantor, LeClairRyan as Trustee and Northeast Bank, successor in interest to Pinnacle Bank (successor by merger with Bank of North Carolina, successor by merger with Valley Bank) as Beneficiary (incorporated herein by reference to Exhibit 4.17 of the Company</span><span style="text-decoration: underline; ">&#8217;</span><span style="text-decoration: underline; ">s Annual Report on Form 10-K for the period ended October 31, 2008 filed January 29, 2009).</span></a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 51.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">4.4</p>
			</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 51.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><a href="http://www.sec.gov/Archives/edgar/data/1000230/000119312509014313/dex418.htm" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Corrected Deed of Trust, Security Agreement and Fixtures Filing dated May 30, 2008 by and between Superior Modular Products Incorporated as Grantor, LeClairRyan as Trustee and Northeast Bank, successor in interest to Pinnacle Bank (successor by merger with Bank of North Carolina, successor by merger with Valley Bank) as Beneficiary (incorporated herein by reference to Exhibit 4.18 of the Company</span><span style="text-decoration: underline; ">&#8217;</span><span style="text-decoration: underline; ">s Annual Report on Form 10-K for the period ended October 31, 2008 filed January 29, 2009).</span></a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 51.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">4.5</p>
			</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 51.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><a href="http://www.sec.gov/Archives/edgar/data/1000230/000143774916030596/ex4-4.htm" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Term Loan B Note in the amount of $5,271,411 by Optical Cable Corporation dated April 26, 2016, for the benefit of Northeast Bank as of July 15, 2021, as successor in interest to Pinnacle Bank (successor by merger with Bank of North Carolina) (incorporated herein by reference to Exhibit 4.4 to the Company</span><span style="text-decoration: underline; ">&#8217;</span><span style="text-decoration: underline; ">s Current Report on Form 8-K/A filed May 3, 2016).</span></a></p>
			</td>
		</tr>

</tbody></table>

<p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">&#160;</p>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGFTR" style="text-align: center; width: 100%">
<div class="hf-row">
<div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">29</div>
</div>
</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000"/>
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="hf-cell TOCLink" style="display: inline-block; text-align: left;"><a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">Table of Contents</a></div>
</div>
</div>
</div>

<p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#160;</p>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: center;"><b>PART II.</b>&#160;<b> OTHER INFORMATION</b></p>

<p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 90%; margin-left: 5%; margin-right: 5%;">

		<tbody><tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">4.6</p>
			</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 51.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><a href="http://www.sec.gov/Archives/edgar/data/1000230/000143774916030596/ex4-5.htm" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Modification of Credit Line Deed of Trust dated April 26, 2016 by and between Optical Cable Corporation (successor by merger to Superior Modular Products Incorporated) as Grantor, Andrew B. Agee (in substitution of LeClairRyan) as Trustee and Northeast Bank, successor in interest to Pinnacle Bank (successor by merger with Bank of North Carolina) as Beneficiary, modifying that certain Corrected Credit Line Deed of Trust dated June 4, 2008 (incorporated herein by reference to Exhibit 4.5 to the Company</span><span style="text-decoration: underline; ">&#8217;</span><span style="text-decoration: underline; ">s Current Report on Form 8-K/A filed May 3, 2016).</span></a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 51.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">4.7</p>
			</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 51.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><a href="http://www.sec.gov/Archives/edgar/data/1000230/000143774916030596/ex4-6.htm" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Modification of Deed of Trust, Security Agreement, and Assignment of Leases and Rents dated April 26, 2016 by and between Optical Cable Corporation (successor by merger to Superior Modular Products Incorporated) as Grantor, Andrew B. Agee (in substitution of LeClairRyan) as Trustee and Northeast Bank, successor in interest to Pinnacle Bank (successor by merger with Bank of North Carolina) as Beneficiary, modifying that certain Corrected Deed of Trust, Security Agreement and Assignment of Leases and Rents dated May 30, 2008 (incorporated herein by reference to Exhibit 4.6 to the Company</span><span style="text-decoration: underline; ">&#8217;</span><span style="text-decoration: underline; ">s Current Report on Form 8-K/A filed May 3, 2016).</span></a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 51.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">4.8</p>
			</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 51.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><a href="http://www.sec.gov/Archives/edgar/data/1000230/000143774918011550/ex_115700.htm" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Second Modification of Credit Line Deed of Trust dated May 2, 2018 by and between Optical Cable Corporation (successor by merger to Superior Modular Products Incorporated) as Grantor, W. Todd Ross (in substitution of LeClairRyan) as Trustee and Northeast Bank, successor in interest to Pinnacle Bank (successor by merger with Bank of North Carolina) as Beneficiary, modifying that certain Modification of Credit Line Deed of Trust dated April 26, 2016, which previously modified that certain Corrected Credit Line Deed of Trust dated June 4, 2008 (incorporated herein by reference to Exhibit 4.20 to the Company</span><span style="text-decoration: underline; ">&#8217;</span><span style="text-decoration: underline; ">s Quarterly Report on Form 10-Q for the second quarter ended April 30, 2018).</span></a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 51.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">4.9</p>
			</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 51.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><a href="http://www.sec.gov/Archives/edgar/data/1000230/000143774918011550/ex_115701.htm" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Second Modification of Deed of Trust, Security Agreement, and Assignment of Leases and Rents dated May 2, 2018 by and between Optical Cable Corporation (successor by merger to Superior Modular Products Incorporated) as Grantor, W. Todd Ross (in substitution of LeClairRyan) as Trustee and Northeast Bank, successor in interest to Pinnacle Bank (successor by merger with Bank of North Carolina) as Beneficiary, modifying that certain Modification of Deed of Trust, Security Agreement, and Assignment of Leases and Rents dated April 26, 2016, which previously modified that certain Corrected Deed of Trust, Security Agreement and Assignment of Leases and Rents dated May 30, 2008 (incorporated herein by reference to Exhibit 4.21 to the Company</span><span style="text-decoration: underline; ">&#8217;</span><span style="text-decoration: underline; ">s Quarterly Report on Form 10-Q for the second quarter ended April 30, 2018).</span></a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 51.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">4.10</p>
			</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 51.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><a href="http://www.sec.gov/Archives/edgar/data/1000230/000143774920016038/ex_195947.htm" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Loan and Security Agreement dated July 24, 2020 by and among Optical Cable Corporation along with its subsidiaries Applied Optical Systems, Inc., and Centric Solutions LLC, and North Mill Capital LLC (now doing business as SLR Business Credit) (incorporated by reference to Exhibit 4.1 to the Company</span><span style="text-decoration: underline; ">&#8217;</span><span style="text-decoration: underline; ">s Current Report on Form 8-K filed July 30, 2020).</span></a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 51.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">4.11</p>
			</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 51.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><a href="http://www.sec.gov/Archives/edgar/data/1000230/000143774920016038/ex_195948.htm" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Revolving Credit Master Promissory Note dated July 24, 2020 by Optical Cable Corporation along with its subsidiaries Applied Optical Systems, Inc., and Centric Solutions LLC in favor of North Mill Capital LLC (now doing business as SLR Business Credit) (incorporated by reference to Exhibit 4.2 to the Company</span><span style="text-decoration: underline; ">&#8217;</span><span style="text-decoration: underline; ">s Current Report on Form 8-K filed July 30, 2020).</span></a></p>
			</td>
		</tr>

</tbody></table>

<p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">&#160;</p>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGFTR" style="text-align: center; width: 100%">
<div class="hf-row">
<div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">30</div>
</div>
</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000"/>
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="hf-cell TOCLink" style="display: inline-block; text-align: left;"><a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">Table of Contents</a></div>
</div>
</div>
</div>

<p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#160;</p>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: center;"><b>PART II.</b>&#160;<b> OTHER INFORMATION</b></p>

<p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 90%; margin-left: 5%; margin-right: 5%;">

		<tbody><tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">4.12</p>
			</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 51.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><a href="http://www.sec.gov/Archives/edgar/data/1000230/000143774920016038/ex_195949.htm" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Payoff Letter from Pinnacle Bank to North Mill Capital LLC (now doing business as SLR Business Credit) and Optical Cable Corporation (incorporated by reference to Exhibit 4.3 to the Company</span><span style="text-decoration: underline; ">&#8217;</span><span style="text-decoration: underline; ">s Current Report on Form 8-K filed July 30, 2020).</span></a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 51.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">4.13</p>
			</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 51.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><a href="http://www.sec.gov/Archives/edgar/data/1000230/000143774921025513/ex_303347.htm" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Amended and Restated Stockholder Protection Rights Agreement, dated as of November 2, 2021, between Optical Cable Corporation and American Stock Transfer &amp; Trust Company, LLC, as rights agent (incorporated herein by reference to Exhibit 4.1 to the Company&#8217;</span><span style="text-decoration: underline; ">s Form 8-A12G/A filed with the Commission on November 5, 2021). </span></a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 51.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">4.14</p>
			</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 51.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><a href="http://www.sec.gov/Archives/edgar/data/1000230/000143774922016819/ex_393082.htm" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Modification Agreement dated as of July 5, 2022, by and between North Mill Capital LLC (now doing business as SLR Business Credit) and Optical Cable Corporation along with its subsidiaries Applied Optical Systems, Inc., and Centric Solutions LLC (incorporated by reference to Exhibit 4.1 to the Company&#8217;</span><span style="text-decoration: underline; ">s Current Report on Form 8-K filed July 7, 2022).</span></a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 51.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">4.15</p>
			</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 51.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><a href="http://www.sec.gov/Archives/edgar/data/1000230/000143774923030223/ex_590927.htm" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Omnibus Amendment of Loan Documents dated October 31, 2023 by and between Optical Cable Corporation and Northeast Bank (incorporated herein by reference to Exhibit 4.1 to the Company&#8217;</span><span style="text-decoration: underline; ">s Current Report on Form 8-K filed November 3, 2023).</span></a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 51.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">10.1*</p>
			</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 51.4%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><a href="http://www.sec.gov/Archives/edgar/data/1000230/000143774917004362/occ20170223_def14a.htm" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Optical Cable Corporation 2017 Stock Incentive Plan (incorporated by reference to Appendix A to the Company&#8217;</span><span style="text-decoration: underline; ">s definitive proxy statement on Form 14A filed March 13, 2017).</span></a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 52.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">10.2*</p>
			</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 52.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><a href="http://www.sec.gov/Archives/edgar/data/1000230/000119312511099762/dex102.htm" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Amended and Restated Employment Agreement by and between Optical Cable Corporation and Neil D. Wilkin, Jr. effective April 11, 2011 (incorporated herein by reference to Exhibit 10.2 of the Company&#8217;</span><span style="text-decoration: underline; ">s Current Report on Form 8-K filed April 15, 2011).</span></a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 52.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">10.3*</p>
			</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 52.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><a href="http://www.sec.gov/Archives/edgar/data/1000230/000119312513109588/d499109dex1016.htm" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Amendment, effective December 18, 2012, to Amended and Restated Employment Agreement by and between Optical Cable Corporation and Neil D. Wilkin, Jr. effective April 11, 2011 (incorporated herein by reference to Exhibit 10.16 of the Company&#8217;</span><span style="text-decoration: underline; ">s Quarterly Report on Form 10-Q for the period ended January 31, 2013 filed March 15, 2013).</span></a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 52.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">10.4*</p>
			</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 52.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><a href="http://www.sec.gov/Archives/edgar/data/1000230/000100023014000010/wilkinocc2ndamendtoamendan.htm" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Second Amendment, effective March 14, 2014, to Amended and Restated Employment Agreement by and between Optical Cable Corporation and Neil D. Wilkin, Jr. effective April 11, 2011, as amended December 18, 2012 (incorporated herein by reference to Exhibit 10.19 of the Company&#8217;</span><span style="text-decoration: underline; ">s Quarterly Report on Form 10-Q for the period ended January 31, 2014 filed March 17, 2014).</span></a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 52.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">10.5*</p>
			</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 52.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><a href="http://www.sec.gov/Archives/edgar/data/1000230/000119312511099762/dex101.htm" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Amended and Restated Employment Agreement by and between Optical Cable Corporation and Tracy G. Smith effective April 11, 2011 (incorporated herein by reference to Exhibit 10.1 of the Company&#8217;</span><span style="text-decoration: underline; ">s Current Report on Form 8-K filed April 15, 2011).</span></a></p>
			</td>
		</tr>

</tbody></table>

<p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">&#160;</p>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGFTR" style="text-align: center; width: 100%">
<div class="hf-row">
<div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">31</div>
</div>
</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000"/>
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="hf-cell TOCLink" style="display: inline-block; text-align: left;"><a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">Table of Contents</a></div>
</div>
</div>
</div>

<p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#160;</p>

<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: center;"><b>PART II.</b>&#160;<b> OTHER INFORMATION</b></p>

<p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#160;</p>

<table cellpadding="0" cellspacing="0" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 90%; margin-left: 5%; margin-right: 5%;">

		<tbody><tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">10.6*</p>
			</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 52.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><a href="http://www.sec.gov/Archives/edgar/data/1000230/000119312513109588/d499109dex1018.htm" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Amendment, effective December 18, 2012, to Amended and Restated Employment Agreement by and between Optical Cable Corporation and Tracy G. Smith effective April 11, 2011 (incorporated herein by reference to Exhibit 10.18 of the Company&#8217;</span><span style="text-decoration: underline; ">s Quarterly Report on Form 10-Q for the period ended January 31, 2013 filed March 15, 2013).</span></a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 52.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">10.7*</p>
			</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 52.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><a href="http://www.sec.gov/Archives/edgar/data/1000230/000100023014000010/smithocc2ndamendtoamendand.htm" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Second Amendment, effective March 14, 2014, to Amended and Restated Employment Agreement by and between Optical Cable Corporation and Tracy G. Smith effective April 11, 2011, as amended December 18, 2012 (incorporated herein by reference to Exhibit 10.22 of the Company&#8217;</span><span style="text-decoration: underline; ">s Quarterly Report on Form 10-Q for the period ended January 31, 2014 filed March 17, 2014).</span></a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 52.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">10.8*</p>
			</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 52.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><a href="http://www.sec.gov/Archives/edgar/data/1000230/000143774917011177/ex10-21.htm" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Form of vesting award agreement for non-employee Board members under the Optical Cable Corporation 2017 Stock Incentive Plan (incorporated herein by reference to Exhibit 10.21 of the Company&#8217;</span><span style="text-decoration: underline; ">s Quarterly Report on Form 10-Q for the period ended April 30, 2017 filed June 13, 2017).</span></a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 52.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">10.9*</p>
			</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 52.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><a href="http://www.sec.gov/Archives/edgar/data/1000230/000143774921028951/ex_315670.htm" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Form of operational performance (Company financial performance measure) vesting award agreement under the Optical Cable Corporation 2017 Stock Incentive Plan&#160;(incorporated herein by reference to Exhibit 10.15 of the Company</span><span style="text-decoration: underline; ">&#8217;</span><span style="text-decoration: underline; ">s Annual Report on Form 10-K for the period ended October 31, 2021 filed December 20, 2021). </span></a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 52.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">10.10*</p>
			</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 52.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><a href="http://www.sec.gov/Archives/edgar/data/1000230/000143774922022175/ex_419998.htm" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">First Amendment to the Optical Cable Corporation 2017 Stock Incentive Plan effective March 29, 2022&#160;(incorporated herein by reference to Exhibit 10.16 of the Company</span><span style="text-decoration: underline; ">&#8217;</span><span style="text-decoration: underline; ">s Quarterly Report on Form 10-Q for the period ended July 31, 2022 filed September 12, 2022).</span></a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 52.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">11.1</p>
			</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 52.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><a href="#note9" style="-sec-extract:exhibit;">Statement regarding computation of per share earnings (incorporated by reference to note 9 of the Condensed Notes to Condensed Consolidated Financial Statements contained herein).</a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 52.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">31.1</p>
			</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 52.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><a href="ex_682436.htm" style="-sec-extract:exhibit;">Certification of the Company&#8217;s Chief Executive Officer pursuant to Section 302 of the Sarbanes-Oxley Act of 2002. FILED HEREWITH.</a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 52.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">31.2</p>
			</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 52.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><a href="ex_682437.htm" style="-sec-extract:exhibit;">Certification of the Company&#8217;s Chief Financial Officer pursuant to Section 302 of the Sarbanes-Oxley Act of 2002. FILED HEREWITH.</a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 52.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">32.1</p>
			</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 52.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><a href="ex_682438.htm" style="-sec-extract:exhibit;">Certification of the Company&#8217;s Chief Executive Officer pursuant to 18 U.S.C. Section 1350 as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002. FURNISHED HEREWITH.</a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 52.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">32.2</p>
			</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 52.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><a href="ex_682439.htm" style="-sec-extract:exhibit;">Certification of the Company&#8217;s Chief Financial Officer pursuant to 18 U.S.C. Section 1350 as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002. FURNISHED HEREWITH.</a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 52.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">97</p>
			</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 52.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;"><a href="http://www.sec.gov/Archives/edgar/data/1000230/000143774923034978/ex_605463.htm" style="-sec-extract:exhibit;"><span style="text-decoration: underline; ">Optical Cable Corporation Compensation Recovery Policy, effective November 30, 2023 (incorporated herein by reference to Exhibit 97 of the Company&#8217;</span><span style="text-decoration: underline; ">s Annual Report on Form 10-K for the period ended October 31, 2023 filed December 19, 2023).</span></a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 52.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">101</p>
			</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 52.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">The following materials from the Company&#8217;s Quarterly Report on Form 10-Q for the quarter ended April 30, 2024, formatted in iXBRL (Inline eXtensible Business Reporting Language): (i) Condensed Consolidated Balance Sheets at April 30, 2024 and October 31, 2023, (ii) Condensed Consolidated Statements of Operations for the three months and six months ended April 30, 2024 and 2023, (iii) Condensed Consolidated Statements of Shareholders&#8217;&#160;Equity for the three months and six months ended April 30, 2024 and 2023, (iv) Condensed Consolidated Statements of Cash Flows for the six months ended April 30, 2024 and 2023, and (v) Condensed Notes to Condensed Consolidated Financial Statements. FILED HEREWITH.</p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 52.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td style="vertical-align: top; width: 8.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">104</p>
			</td>
			<td style="vertical-align: bottom; width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="vertical-align: bottom; width: 52.3%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: justify; margin: 0pt;">Cover Page Interactive Data File (formatted as Inline XBRL and contained in Exhibit 101).</p>
			</td>
		</tr>

</tbody></table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<hr style="text-align: left; height: 1px; color: #000000; background-color: #000000; width: 10%; border: none; margin: 3pt auto 3pt 0"/>
<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">* Management contract or compensatory plan or agreement.</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">&#160;</p>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGFTR" style="text-align: center; width: 100%">
<div class="hf-row">
<div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">32</div>
</div>
</div>

<hr style="PAGE-BREAK-AFTER: always; border: none; width: 100%; height: 2px; color: #000000; background-color: #000000"/>
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">
<div class="hf-cell TOCLink" style="display: inline-block; text-align: left;"><a href="#toc" style="font-weight: initial; font-style: initial; font-variant: initial; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">Table of Contents</a></div>
</div>
</div>
</div>

<p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><a id="sigs" title="sigs" href="#"></a>SIGNATURES</b></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Pursuant to the requirements of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned thereunto duly authorized.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<table border="0" cellpadding="0" cellspacing="0" style="text-indent: 0; width: 100%;font-family: 'Times New Roman', Times, serif; font-size: 10pt">

		<tbody><tr>
			<td valign="top" style=" width: 50%;">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><span style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&#160;</span></p>
			</td>
			<td colspan="2" valign="top" style=" width: 38%;">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><span style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&#160;</span></p>
			</td>
			<td valign="top" style=" width: 12%;">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><span style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&#160;</span></p>
			</td>
		</tr>
		<tr>
			<td valign="top" style=" width: 50%;">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><span style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&#160;</span></p>
			</td>
			<td valign="top" style=" width: 3%;">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><span style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&#160;</span></p>
			</td>
			<td valign="top" style=" width: 35%;">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><b>OPTICAL CABLE CORPORATION</b></p>
			</td>
			<td valign="top" style=" width: 12%;">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><span style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&#160;</span></p>
			</td>
		</tr>
		<tr>
			<td valign="top" style=" width: 50%;">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><span style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&#160;</span></p>
			</td>
			<td valign="top" style=" width: 3%;">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><span style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&#160;</span></p>
			</td>
			<td align="left" valign="bottom" style=" width: 35%;">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">(Registrant)</p>
			</td>
			<td valign="top" style=" width: 12%;">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><span style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&#160;</span></p>
			</td>
		</tr>
		<tr>
			<td valign="top" style=" width: 50%;">&#160;</td>
			<td valign="top" style=" width: 3%;">&#160;</td>
			<td align="left" valign="bottom" style=" width: 35%;">&#160;</td>
			<td valign="top" style=" width: 12%;">&#160;</td>
		</tr>
		<tr>
			<td valign="top" style=" width: 50%;">&#160;</td>
			<td valign="top" style=" width: 3%;">&#160;</td>
			<td align="left" valign="bottom" style=" width: 35%;">&#160;</td>
			<td valign="top" style=" width: 12%;">&#160;</td>
		</tr>
		<tr>
			<td valign="top" style=" width: 50%;">Date: June 10, 2024&#160;</td>
			<td valign="top" style=" width: 3%;">&#160;</td>
			<td align="left" style="border-bottom: 1px solid rgb(0, 0, 0); width: 35%;" valign="bottom">/s/ Neil D. Wilkin, Jr.</td>
			<td valign="top" style=" width: 12%;">&#160;</td>
		</tr>
		<tr>
			<td valign="top" style=" width: 50%;">&#160;</td>
			<td valign="top" style=" width: 3%;">&#160;</td>
			<td align="left" valign="bottom" style=" width: 35%;">Neil D. Wilkin, Jr.</td>
			<td valign="top" style=" width: 12%;">&#160;</td>
		</tr>
		<tr>
			<td valign="top" style=" width: 50%;">&#160;</td>
			<td valign="top" style=" width: 3%;">&#160;</td>
			<td align="left" valign="bottom" style=" width: 35%;">Chairman of the Board of Directors,</td>
			<td valign="top" style=" width: 12%;">&#160;</td>
		</tr>
		<tr>
			<td valign="top" style=" width: 50%;">&#160;</td>
			<td valign="top" style=" width: 3%;">&#160;</td>
			<td align="left" valign="bottom" style=" width: 35%;">President and Chief Executive Officer</td>
			<td valign="top" style=" width: 12%;">&#160;</td>
		</tr>
		<tr>
			<td valign="top" style=" width: 50%;">&#160;</td>
			<td valign="top" style=" width: 3%;">&#160;</td>
			<td align="left" valign="bottom" style=" width: 35%;">&#160;</td>
			<td valign="top" style=" width: 12%;">&#160;</td>
		</tr>
		<tr>
			<td valign="top" style=" width: 50%;">&#160;</td>
			<td valign="top" style=" width: 3%;">&#160;</td>
			<td align="left" valign="bottom" style=" width: 35%;">&#160;</td>
			<td valign="top" style=" width: 12%;">&#160;</td>
		</tr>
		<tr>
			<td valign="top" style=" width: 50%;">Date: June 10, 2024</td>
			<td valign="top" style=" width: 3%;">&#160;</td>
			<td align="left" style="border-bottom: 1px solid rgb(0, 0, 0); width: 35%;" valign="bottom">/s/ Tracy G. Smith</td>
			<td valign="top" style=" width: 12%;">&#160;</td>
		</tr>
		<tr>
			<td valign="top" style=" width: 50%;">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><span style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&#160;</span></p>
			</td>
			<td valign="top" style=" width: 3%;">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><span style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&#160;</span></p>
			</td>
			<td valign="top" style=" width: 35%;">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Tracy G. Smith</p>
			</td>
			<td valign="top" style=" width: 12%;">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><span style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&#160;</span></p>
			</td>
		</tr>
		<tr>
			<td valign="top" style=" width: 50%;">&#160;</td>
			<td valign="top" style=" width: 3%;">&#160;</td>
			<td valign="top" style=" width: 35%;">Senior Vice President and Chief Financial</td>
			<td valign="top" style=" width: 12%;">&#160;</td>
		</tr>
		<tr>
			<td valign="top" style=" width: 50%;">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><span style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&#160;</span></p>
			</td>
			<td valign="top" style=" width: 3%;">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><span style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&#160;</span></p>
			</td>
			<td valign="top" style=" width: 35%;">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Officer</p>
			</td>
			<td valign="top" style=" width: 12%;">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><span style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&#160;</span></p>
			</td>
		</tr>

</tbody></table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">&#160;</p>

<div class="LAST-PAGE-BREAK">
<div class="PGFTR">
<div class="hf-row">
<div class="hf-cell PGNUM" style="text-align: center; font-size: 10pt; font-family: Times New Roman;">33</div>
</div>
</div>
</div>


</body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>2
<FILENAME>ex_682436.htm
<DESCRIPTION>EXHIBIT 31.1
<TEXT>
<html><head>
	<title>ex_682436.htm</title>

	<!-- Generated by ThunderDome Portal - 6/4/2024 9:42:24 PM --><meta charset="utf-8"><meta name="format-detection" content="telephone=no">
</head>
<body style="font-size: 10pt; font-family: &quot;Times New Roman&quot;; padding: 0in 0.1in; cursor: auto;">
<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;"><b>Exhibit 31.1</b></p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>CERTIFICATION</b></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">I, Neil D. Wilkin, Jr., certify that:</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:Times New Roman;font-size:10pt;">

		<tr>
			<td style="width:18pt;">&nbsp;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">1.</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">I have reviewed this quarterly report on Form 10-Q of Optical Cable Corporation;</p>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:Times New Roman;font-size:10pt;">

		<tr>
			<td style="width:18pt;">&nbsp;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">2.</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">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>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:Times New Roman;font-size:10pt;">

		<tr>
			<td style="width:18pt;">&nbsp;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">3.</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">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>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:Times New Roman;font-size:10pt;">

		<tr>
			<td style="width:18pt;">&nbsp;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">4.</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">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>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:Times New Roman;font-size:10pt;">

		<tr>
			<td style="width:43pt;">&nbsp;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">a)</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;</p>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:Times New Roman;font-size:10pt;">

		<tr>
			<td style="width:43pt;">&nbsp;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">b)</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">designed such internal controls over financial reporting, or caused such internal controls 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>
			</td>
		</tr>

</table>

<p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:Times New Roman;font-size:10pt;">

		<tr>
			<td style="width:43pt;">&nbsp;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">c)</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">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>
			</td>
		</tr>

</table>

<p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:Times New Roman;font-size:10pt;">

		<tr>
			<td style="width:43pt;">&nbsp;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">d)</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">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>
			</td>
		</tr>

</table>

<p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:Times New Roman;font-size:10pt;">

		<tr>
			<td style="width:18pt;">&nbsp;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">5.</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">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 independent registered public accounting firm and the audit committee of the registrant&#8217;s board of directors (or persons performing the equivalent functions):</p>
			</td>
		</tr>

</table>

<p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:Times New Roman;font-size:10pt;">

		<tr>
			<td style="width:43pt;">&nbsp;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">a)</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">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>
			</td>
		</tr>

</table>

<p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:Times New Roman;font-size:10pt;">

		<tr>
			<td style="width:43pt;">&nbsp;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">b)</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">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>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="text-indent: 0; width: 100%;font-family: 'Times New Roman', Times, serif; font-size: 10pt">

		<tr>
			<td valign="top" width="50%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td colspan="2" valign="top" width="38%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="12%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
		</tr>
		<tr>
			<td valign="top" width="50%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Date: June 10, 2024</p>
			</td>
			<td valign="top" width="3%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td style="border-bottom: 1px solid rgb(0, 0, 0);" valign="top" width="35%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">/s/ </font>Neil D. Wilkin, Jr.</p>
			</td>
			<td valign="top" width="12%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
		</tr>
		<tr>
			<td valign="top" width="50%">&nbsp;</td>
			<td valign="top" width="3%">&nbsp;</td>
			<td align="left" nowrap="nowrap" valign="bottom" width="35%">Neil D. Wilkin, Jr.</td>
			<td valign="top" width="12%">&nbsp;</td>
		</tr>
		<tr>
			<td valign="top" width="50%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="3%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td align="left" nowrap="nowrap" valign="bottom" width="35%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Chairman of the Board of Directors, President</p>
			</td>
			<td valign="top" width="12%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
		</tr>
		<tr>
			<td valign="top" width="50%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="3%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="35%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">and Chief Executive Officer</p>
			</td>
			<td valign="top" width="12%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
		</tr>
		<tr>
			<td valign="top" width="50%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="3%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="35%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="12%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<div class="LAST-PAGE-BREAK">
<div class="PGFTR">
<div class="hf-row">
<div class="hf-cell PGNUM">&nbsp;</div>
</div>
</div>
</div>


</body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>3
<FILENAME>ex_682437.htm
<DESCRIPTION>EXHIBIT 31.2
<TEXT>
<html><head>
	<title>ex_682437.htm</title>

	<!-- Generated by ThunderDome Portal - 6/4/2024 9:42:40 PM --><meta charset="utf-8"><meta name="format-detection" content="telephone=no">
</head>
<body style="font-size: 10pt; font-family: &quot;Times New Roman&quot;; padding: 0in 0.1in; cursor: auto;">
<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;"><b>Exhibit 31.2</b></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b>CERTIFICATION</b></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">I, Tracy G. Smith, certify that:</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:Times New Roman;font-size:10pt;">

		<tr>
			<td style="width:18pt;">&nbsp;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">1.</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">I have reviewed this quarterly report on Form 10-Q of Optical Cable Corporation;</p>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:Times New Roman;font-size:10pt;">

		<tr>
			<td style="width:18pt;">&nbsp;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">2.</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">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>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:Times New Roman;font-size:10pt;">

		<tr>
			<td style="width:18pt;">&nbsp;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">3.</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">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>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:Times New Roman;font-size:10pt;">

		<tr>
			<td style="width:18pt;">&nbsp;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">4.</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">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>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:Times New Roman;font-size:10pt;">

		<tr>
			<td style="width:43pt;">&nbsp;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">a)</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;</p>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:Times New Roman;font-size:10pt;">

		<tr>
			<td style="width:43pt;">&nbsp;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">b)</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">designed such internal controls over financial reporting, or caused such internal controls 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>
			</td>
		</tr>

</table>

<p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:Times New Roman;font-size:10pt;">

		<tr>
			<td style="width:43pt;">&nbsp;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">c)</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">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>
			</td>
		</tr>

</table>

<p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:Times New Roman;font-size:10pt;">

		<tr>
			<td style="width:43pt;">&nbsp;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">d)</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">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>
			</td>
		</tr>

</table>

<p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:Times New Roman;font-size:10pt;">

		<tr>
			<td style="width:18pt;">&nbsp;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">5.</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">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 independent registered public accounting firm and the audit committee of the registrant&#8217;s board of directors (or persons performing the equivalent functions):</p>
			</td>
		</tr>

</table>

<p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:Times New Roman;font-size:10pt;">

		<tr>
			<td style="width:43pt;">&nbsp;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">a)</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">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>
			</td>
		</tr>

</table>

<p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width:100%;font-family:Times New Roman;font-size:10pt;">

		<tr>
			<td style="width:43pt;">&nbsp;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">b)</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">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>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="text-indent: 0; width: 100%;font-family: 'Times New Roman', Times, serif; font-size: 10pt">

		<tr>
			<td valign="top" width="50%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td colspan="2" valign="top" width="38%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="12%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
		</tr>
		<tr>
			<td valign="top" width="50%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Date: June 10, 2024</p>
			</td>
			<td valign="top" width="3%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td style="border-bottom: 1px solid rgb(0, 0, 0);" valign="top" width="35%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">/s/&nbsp;</font>Tracy G. Smith<font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt"> </font></p>
			</td>
			<td valign="top" width="12%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
		</tr>
		<tr>
			<td valign="top" width="50%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="3%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td align="left" nowrap="nowrap" valign="bottom" width="35%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Tracy G. Smith<font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="12%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
		</tr>
		<tr>
			<td valign="top" width="50%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="3%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="35%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Senior Vice President and</p>
			</td>
			<td valign="top" width="12%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
		</tr>
		<tr>
			<td valign="top" width="50%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="3%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="35%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Chief Financial Officer</p>
			</td>
			<td valign="top" width="12%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
		</tr>

</table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt 0pt 0pt 306pt;text-indent:-306pt;">&nbsp;</p>

<div class="LAST-PAGE-BREAK">
<div class="PGFTR">
<div class="hf-row">
<div class="hf-cell PGNUM">&nbsp;</div>
</div>
</div>
</div>


</body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>4
<FILENAME>ex_682438.htm
<DESCRIPTION>EXHIBIT 32.1
<TEXT>
<html><head>
	<title>ex_682438.htm</title>

	<!-- Generated by ThunderDome Portal - 6/4/2024 9:43:21 PM --><meta charset="utf-8"><meta name="format-detection" content="telephone=no">
</head>
<body style="font-size: 10pt; font-family: &quot;Times New Roman&quot;; padding: 0in 0.1in; cursor: auto;">
<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;"><b>Exhibit 32.1</b></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><b>CERTIFICATION PURSUANT TO 18 U.S.C. SECTION 1350 AS ADOPTED PURSUANT TO SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</b></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">In connection with the Quarterly Report of Optical Cable Corporation (the &#8220;Company&#8221;) on Form 10-Q for the quarter ended April 30, 2024 as filed with the Securities and Exchange Commission on the date hereof (the &#8220;Report&#8221;), the undersigned hereby certifies, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002 that: (1) the Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities and Exchange Act of 1934; and (2) the information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company as of April 30, 2024, and for the period then ended.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="text-indent: 0; width: 100%;font-family: 'Times New Roman', Times, serif; font-size: 10pt">

		<tr>
			<td valign="top" width="50%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td colspan="2" valign="top" width="38%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="12%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
		</tr>
		<tr>
			<td valign="top" width="50%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Date: June 10, 2024<font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="3%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td style="border-bottom: 1px solid rgb(0, 0, 0);" valign="top" width="35%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">/s/&nbsp;</font>Neil D. Wilkin, Jr.<font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt"> </font></p>
			</td>
			<td valign="top" width="12%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
		</tr>
		<tr>
			<td valign="top" width="50%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="3%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td align="left" nowrap="nowrap" valign="bottom" width="35%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Neil D. Wilkin, Jr.<font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="12%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
		</tr>
		<tr>
			<td valign="top" width="50%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="3%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="35%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Chairman of the Board of Directors,</p>
			</td>
			<td valign="top" width="12%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
		</tr>
		<tr>
			<td valign="top" width="50%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="3%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="35%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">President and Chief Executive Officer</p>
			</td>
			<td valign="top" width="12%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
		</tr>

</table>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 306pt;text-indent:-306pt;">&nbsp;</p>

<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt;">&nbsp;</p>

<div class="LAST-PAGE-BREAK">
<div class="PGFTR">
<div class="hf-row">
<div class="hf-cell PGNUM">&nbsp;</div>
</div>
</div>
</div>


</body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.2
<SEQUENCE>5
<FILENAME>ex_682439.htm
<DESCRIPTION>EXHIBIT 32.2
<TEXT>
<html><head>
	<title>ex_682439.htm</title>

	<!-- Generated by ThunderDome Portal - 6/4/2024 9:43:38 PM --><meta charset="utf-8"><meta name="format-detection" content="telephone=no">
</head>
<body style="font-size: 10pt; font-family: &quot;Times New Roman&quot;; padding: 0in 0.1in; cursor: auto;">
<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:right;margin:0pt;"><b>Exhibit 32.2</b></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><b>CERTIFICATION PURSUANT TO 18 U.S.C. SECTION 1350 AS ADOPTED PURSUANT TO SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</b></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">In connection with the Quarterly Report of Optical Cable Corporation (the &#8220;Company&#8221;) on Form 10-Q for the quarter ended April 30, 2024 as filed with the Securities and Exchange Commission on the date hereof (the &#8220;Report&#8221;), the undersigned hereby certifies, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002 that: (1) the Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities and Exchange Act of 1934; and (2) the information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company as of April 30, 2024, and for the period then ended.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="text-indent: 0; width: 100%;font-family: 'Times New Roman', Times, serif; font-size: 10pt">

		<tr>
			<td valign="top" width="50%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">&nbsp;</p>
			</td>
			<td colspan="2" valign="top" width="38%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="12%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
		</tr>
		<tr>
			<td valign="top" width="50%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Date: June 10, 2024&nbsp;<font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="3%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td style="border-bottom: 1px solid rgb(0, 0, 0);" valign="top" width="35%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">/s/ </font>Tracy G. Smith</p>
			</td>
			<td valign="top" width="12%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
		</tr>
		<tr>
			<td valign="top" width="50%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="3%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td align="left" nowrap="nowrap" valign="bottom" width="35%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Tracy G. Smith<font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="12%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
		</tr>
		<tr>
			<td valign="top" width="50%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="3%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="35%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Senior Vice President and<font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="12%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
		</tr>
		<tr>
			<td valign="top" width="50%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="3%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="35%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Chief Financial Officer<font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
			<td valign="top" width="12%">
			<p style="margin: 0px 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;"><font style="font-family: 'Times New Roman', Times, serif; font-size: 10pt">&nbsp;</font></p>
			</td>
		</tr>

</table>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 306pt;text-indent:-306pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&nbsp;</p>

<div class="LAST-PAGE-BREAK">
<div class="PGFTR">
<div class="hf-row">
<div class="hf-cell PGNUM">&nbsp;</div>
</div>
</div>
</div>


</body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>6
<FILENAME>occ-20240430.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome XBRL - 05:37PM UTC 2024-06-06--><xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:country="http://xbrl.sec.gov/country/2024" xmlns:currency="http://xbrl.sec.gov/currency/2024" xmlns:dei="http://xbrl.sec.gov/dei/2024" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21" xmlns:ecd="http://xbrl.sec.gov/ecd/2024" xmlns:enum2="http://xbrl.org/2020/extensible-enumerations-2.0" xmlns:exch="http://xbrl.sec.gov/exch/2024" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:naics="http://xbrl.sec.gov/naics/2024" xmlns:occ="http://http/20240430" xmlns:sic="http://xbrl.sec.gov/sic/2024" xmlns:srt="http://fasb.org/srt/2024" xmlns:srt-types="http://fasb.org/srt-types/2024" xmlns:stpr="http://xbrl.sec.gov/stpr/2024" xmlns:us-gaap="http://fasb.org/us-gaap/2024" xmlns:us-types="http://fasb.org/us-types/2024" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xlink="http://www.w3.org/1999/xlink" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://http/20240430">
  <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.sec.gov/naics/2024" schemaLocation="https://xbrl.sec.gov/naics/2024/naics-2024.xsd"/>
  <xsd:import namespace="http://xbrl.sec.gov/country/2024" schemaLocation="https://xbrl.sec.gov/country/2024/country-2024.xsd"/>
  <xsd:import namespace="http://xbrl.sec.gov/exch/2024" schemaLocation="https://xbrl.sec.gov/exch/2024/exch-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://fasb.org/srt/2024" schemaLocation="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd"/>
  <xsd:import namespace="http://xbrl.sec.gov/currency/2024" schemaLocation="https://xbrl.sec.gov/currency/2024/currency-2024.xsd"/>
  <xsd:import namespace="http://xbrl.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd"/>
  <xsd:import namespace="http://xbrl.sec.gov/stpr/2024" schemaLocation="https://xbrl.sec.gov/stpr/2024/stpr-2024.xsd"/>
  <xsd:import namespace="http://fasb.org/srt-types/2024" schemaLocation="https://xbrl.fasb.org/srt/2024/elts/srt-types-2024.xsd"/>
  <xsd:import namespace="http://www.xbrl.org/dtr/type/2020-01-21" schemaLocation="https://www.xbrl.org/dtr/type/2020-01-21/types.xsd"/>
  <xsd:import namespace="http://xbrl.org/2020/extensible-enumerations-2.0" schemaLocation="https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd"/>
  <xsd:import namespace="http://xbrl.sec.gov/sic/2024" schemaLocation="https://xbrl.sec.gov/sic/2024/sic-2024.xsd"/>
  <xsd:import namespace="http://xbrl.sec.gov/ecd/2024" schemaLocation="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd"/>
  <xsd:import namespace="http://fasb.org/us-types/2024" schemaLocation="https://xbrl.fasb.org/us-gaap/2024/elts/us-types-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://www.xbrl.org/2009/role/negated" schemaLocation="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd"/>
  <xsd:annotation>
    <xsd:appinfo>
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="occ-20240430_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="occ-20240430_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="occ-20240430_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="occ-20240430_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:type="simple"/>
      <link:roleType id="statement-document-and-entity-information" roleURI="http://http/20240430/role/statement-document-and-entity-information">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">000 - Document - Document And Entity Information</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-condensed-consolidated-balance-sheets-unaudited" roleURI="http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">001 - Statement - Condensed Consolidated Balance Sheets (Unaudited)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-condensed-consolidated-balance-sheets-unaudited-parentheticals" roleURI="http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited-parentheticals">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">002 - Statement - Condensed Consolidated Balance Sheets (Unaudited) (Parentheticals)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-condensed-consolidated-statements-of-operations-unaudited" roleURI="http://http/20240430/role/statement-condensed-consolidated-statements-of-operations-unaudited">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">003 - Statement - Condensed Consolidated Statements of Operations (Unaudited)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-condensed-consolidated-statements-of-shareholders-equity-unaudited" roleURI="http://http/20240430/role/statement-condensed-consolidated-statements-of-shareholders-equity-unaudited">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">004 - Statement - Condensed Consolidated Statements of Shareholders' Equity (Unaudited)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-condensed-consolidated-statements-of-cash-flows-unaudited" roleURI="http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">005 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-1-general" roleURI="http://http/20240430/role/statement-note-1-general">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">006 - Disclosure - Note 1 - General</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-" roleURI="http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">007 - Disclosure - Note 2 - Stock Incentive Plans and Other Share-based Compensation</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable" roleURI="http://http/20240430/role/statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">008 - Disclosure - Note 3 - Allowance for Credit Losses for Trade Accounts Receivable</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-4-inventories" roleURI="http://http/20240430/role/statement-note-4-inventories">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">009 - Disclosure - Note 4 - Inventories</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-5-product-warranties" roleURI="http://http/20240430/role/statement-note-5-product-warranties">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">010 - Disclosure - Note 5 - Product Warranties</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-6-longterm-debt-and-notes-payable" roleURI="http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">011 - Disclosure - Note 6 - Long-term Debt and Notes Payable</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-7-leases-" roleURI="http://http/20240430/role/statement-note-7-leases-">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">012 - Disclosure - Note 7 - Leases</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-8-fair-value-measurements" roleURI="http://http/20240430/role/statement-note-8-fair-value-measurements">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">013 - Disclosure - Note 8 - Fair Value Measurements</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-9-net-income-loss-per-share" roleURI="http://http/20240430/role/statement-note-9-net-income-loss-per-share">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">014 - Disclosure - Note 9 - Net Income (Loss) Per Share</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-10-segment-information-and-business-and-credit-concentrations" roleURI="http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">015 - Disclosure - Note 10 - Segment Information and Business and Credit Concentrations</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-11-revenue-recognition" roleURI="http://http/20240430/role/statement-note-11-revenue-recognition">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">016 - Disclosure - Note 11 - Revenue Recognition</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-12-contingencies" roleURI="http://http/20240430/role/statement-note-12-contingencies">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">017 - Disclosure - Note 12 - Contingencies</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-13-new-accounting-standards-not-yet-adopted" roleURI="http://http/20240430/role/statement-note-13-new-accounting-standards-not-yet-adopted">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">018 - Disclosure - Note 13 - New Accounting Standards Not Yet Adopted</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-tables" roleURI="http://http/20240430/role/statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">995464 - Disclosure - Note 3 - Allowance for Credit Losses for Trade Accounts Receivable (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-4-inventories-tables" roleURI="http://http/20240430/role/statement-note-4-inventories-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">995465 - Disclosure - Note 4 - Inventories (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-5-product-warranties-tables" roleURI="http://http/20240430/role/statement-note-5-product-warranties-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">995466 - Disclosure - Note 5 - Product Warranties (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-7-leases-tables" roleURI="http://http/20240430/role/statement-note-7-leases-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">995467 - Disclosure - Note 7 - Leases (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-9-net-income-loss-per-share-tables" roleURI="http://http/20240430/role/statement-note-9-net-income-loss-per-share-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">995468 - Disclosure - Note 9 - Net Income (Loss) Per Share (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-11-revenue-recognition-tables" roleURI="http://http/20240430/role/statement-note-11-revenue-recognition-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">995469 - Disclosure - Note 11 - Revenue Recognition (Tables)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual" roleURI="http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">995470 - Disclosure - Note 2 - Stock Incentive Plans and Other Share-based Compensation (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-summary-of-changes-in-the-allowance-for-doubtful-accounts-for-trade-accounts-receivable-details" roleURI="http://http/20240430/role/statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-summary-of-changes-in-the-allowance-for-doubtful-accounts-for-trade-accounts-receivable-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">995471 - Disclosure - Note 3 - Allowance for Credit Losses for Trade Accounts Receivable - Summary of Changes in the Allowance for Doubtful Accounts for Trade Accounts Receivable (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-4-inventories-components-of-inventories-details" roleURI="http://http/20240430/role/statement-note-4-inventories-components-of-inventories-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">995472 - Disclosure - Note 4 - Inventories - Components of Inventories (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-5-product-warranties-details-textual" roleURI="http://http/20240430/role/statement-note-5-product-warranties-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">995473 - Disclosure - Note 5 - Product Warranties (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details" roleURI="http://http/20240430/role/statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">995474 - Disclosure - Note 5 - Product Warranties - Changes in Accrual for Product Warranties (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-6-longterm-debt-and-notes-payable-details-textual" roleURI="http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">995475 - Disclosure - Note 6 - Long-term Debt and Notes Payable (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-7-leases-details-textual" roleURI="http://http/20240430/role/statement-note-7-leases-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">995476 - Disclosure - Note 7 - Leases (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-7-leases-future-payments-due-details" roleURI="http://http/20240430/role/statement-note-7-leases-future-payments-due-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">995477 - Disclosure - Note 7 - Leases - Future Payments Due (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-9-net-income-loss-per-share-details-textual" roleURI="http://http/20240430/role/statement-note-9-net-income-loss-per-share-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">995478 - Disclosure - Note 9 - Net Income (Loss) Per Share (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-9-net-income-loss-per-share-components-of-reconciliation-of-numerators-and-denominators-net-loss-per-share-details" roleURI="http://http/20240430/role/statement-note-9-net-income-loss-per-share-components-of-reconciliation-of-numerators-and-denominators-net-loss-per-share-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">995479 - Disclosure - Note 9 - Net Income (Loss) Per Share - Components of Reconciliation of Numerators and Denominators Net Loss Per Share (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual" roleURI="http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">995480 - Disclosure - Note 10 - Segment Information and Business and Credit Concentrations (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-11-revenue-recognition-details-textual" roleURI="http://http/20240430/role/statement-note-11-revenue-recognition-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">995481 - Disclosure - Note 11 - Revenue Recognition (Details Textual)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
      <link:roleType id="statement-note-11-revenue-recognition-schedule-of-revenue-from-external-customers-by-geographical-areas-details" roleURI="http://http/20240430/role/statement-note-11-revenue-recognition-schedule-of-revenue-from-external-customers-by-geographical-areas-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">995482 - Disclosure - Note 11 - Revenue Recognition - Schedule of Revenue from External Customers by Geographical Areas (Details)</link:definition>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
        <link:usedOn>link:presentationLink</link:usedOn>
      </link:roleType>
    </xsd:appinfo>
  </xsd:annotation>
  <xsd:element id="occ_AllowanceForDoubtfulAccountsForTradeAccountsReceivableDisclosureTextBlock" name="AllowanceForDoubtfulAccountsForTradeAccountsReceivableDisclosureTextBlock" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType" xbrli:periodType="duration"/>
  <xsd:element id="occ_ConcentrationRiskNumberOfCustomers" name="ConcentrationRiskNumberOfCustomers" nillable="true" substitutionGroup="xbrli:item" type="xbrli:integerItemType" xbrli:periodType="duration"/>
  <xsd:element id="occ_DebtInstrumentAmortizationPeriod" name="DebtInstrumentAmortizationPeriod" nillable="true" substitutionGroup="xbrli:item" type="xbrli:durationItemType" xbrli:periodType="duration"/>
  <xsd:element id="occ_DebtInstrumentTermExtensions" name="DebtInstrumentTermExtensions" nillable="true" substitutionGroup="xbrli:item" type="xbrli:durationItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="occ_DocumentAndEntityInformation" name="DocumentAndEntityInformation" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="occ_EmployeesConsultantAndNonemployeeDirectorsMember" name="EmployeesConsultantAndNonemployeeDirectorsMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="occ_LesseeLeaseLiabilityMaturityTableTextBlock" name="LesseeLeaseLiabilityMaturityTableTextBlock" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType" xbrli:periodType="duration"/>
  <xsd:element id="occ_LesseeOperatingAndFinanceLeasesDisclosureTextBlock" name="LesseeOperatingAndFinanceLeasesDisclosureTextBlock" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType" xbrli:periodType="duration"/>
  <xsd:element id="occ_LineOfCreditFacilityAdditionalCapacityForAdvances" name="LineOfCreditFacilityAdditionalCapacityForAdvances" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="instant"/>
  <xsd:element id="occ_LineOfCreditFacilityMaximumPercentageOfOutstandingEligibleAccountsLoanValue" name="LineOfCreditFacilityMaximumPercentageOfOutstandingEligibleAccountsLoanValue" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:percentItemType" xbrli:periodType="instant"/>
  <xsd:element id="occ_LineOfCreditFacilityPercentOfEligibleAccounts" name="LineOfCreditFacilityPercentOfEligibleAccounts" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:percentItemType" xbrli:periodType="instant"/>
  <xsd:element id="occ_LineOfCreditFacilityPercentOfEligibleInventory" name="LineOfCreditFacilityPercentOfEligibleInventory" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:percentItemType" xbrli:periodType="instant"/>
  <xsd:element id="occ_LineOfCreditFacilityRestrictedCapacityForAdvances" name="LineOfCreditFacilityRestrictedCapacityForAdvances" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="instant"/>
  <xsd:element abstract="true" id="occ_NorthMillCapitalLlcMember" name="NorthMillCapitalLlcMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="occ_NoteToFinancialStatementDetailsTextual" name="NoteToFinancialStatementDetailsTextual" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="occ_NotesToFinancialStatements" name="NotesToFinancialStatements" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="occ_NotesToFinancialStatementsAbstract" name="NotesToFinancialStatementsAbstract" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="occ_OneCustomerMember" name="OneCustomerMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="occ_OperatingLeaseForOfficeEquipmentMember" name="OperatingLeaseForOfficeEquipmentMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="occ_OperatingLeaseForOfficeManufacturingAndWarehouseSpaceInPlanoTexasMember" name="OperatingLeaseForOfficeManufacturingAndWarehouseSpaceInPlanoTexasMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="occ_OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember" name="OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="occ_Plan2017Member" name="Plan2017Member" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element id="occ_RoyaltyRevenueExpense" name="RoyaltyRevenueExpense" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration"/>
  <xsd:element id="occ_SummaryOfChangesInAllowanceForDoubtfulAccountsForTradeAccountsReceivableTableTextBlock" name="SummaryOfChangesInAllowanceForDoubtfulAccountsForTradeAccountsReceivableTableTextBlock" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="occ_VirginiaRealEstateLoanMember" name="VirginiaRealEstateLoanMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="occ_statement-statement-note-11-revenue-recognition-schedule-of-revenue-from-external-customers-by-geographical-areas-details" name="statement-statement-note-11-revenue-recognition-schedule-of-revenue-from-external-customers-by-geographical-areas-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="occ_statement-statement-note-11-revenue-recognition-tables" name="statement-statement-note-11-revenue-recognition-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="occ_statement-statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-summary-of-changes-in-the-allowance-for-doubtful-accounts-for-trade-accounts-receivable-details" name="statement-statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-summary-of-changes-in-the-allowance-for-doubtful-accounts-for-trade-accounts-receivable-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="occ_statement-statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-tables" name="statement-statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="occ_statement-statement-note-4-inventories-components-of-inventories-details" name="statement-statement-note-4-inventories-components-of-inventories-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="occ_statement-statement-note-4-inventories-tables" name="statement-statement-note-4-inventories-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="occ_statement-statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details" name="statement-statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="occ_statement-statement-note-5-product-warranties-tables" name="statement-statement-note-5-product-warranties-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="occ_statement-statement-note-7-leases-future-payments-due-details" name="statement-statement-note-7-leases-future-payments-due-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="occ_statement-statement-note-7-leases-tables" name="statement-statement-note-7-leases-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="occ_statement-statement-note-9-net-income-loss-per-share-components-of-reconciliation-of-numerators-and-denominators-net-loss-per-share-details" name="statement-statement-note-9-net-income-loss-per-share-components-of-reconciliation-of-numerators-and-denominators-net-loss-per-share-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="occ_statement-statement-note-9-net-income-loss-per-share-tables" name="statement-statement-note-9-net-income-loss-per-share-tables" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
</xsd:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>7
<FILENAME>occ-20240430_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome XBRL - 05:37PM UTC 2024-06-06--><link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xlink="http://www.w3.org/1999/xlink" 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">
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" xlink:type="simple"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" xlink:type="simple"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" xlink:type="simple"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" xlink:type="simple"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" xlink:type="simple"/>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-13-new-accounting-standards-not-yet-adopted" xlink:href="occ-20240430.xsd#statement-note-13-new-accounting-standards-not-yet-adopted" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20240430/role/statement-note-13-new-accounting-standards-not-yet-adopted" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-12-contingencies" xlink:href="occ-20240430.xsd#statement-note-12-contingencies" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20240430/role/statement-note-12-contingencies" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-8-fair-value-measurements" xlink:href="occ-20240430.xsd#statement-note-8-fair-value-measurements" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20240430/role/statement-note-8-fair-value-measurements" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="us-gaap_FairValueDisclosuresTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_FairValueDisclosuresTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-1-general" xlink:href="occ-20240430.xsd#statement-note-1-general" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20240430/role/statement-note-1-general" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-document-and-entity-information" xlink:href="occ-20240430.xsd#statement-document-and-entity-information" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20240430/role/statement-document-and-entity-information" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentQuarterlyReport" xlink:label="dei_DocumentQuarterlyReport" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentType" xlink:label="dei_DocumentType" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="dei_DocumentInformationTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentInformationTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentType" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentQuarterlyReport" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentPeriodEndDate" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentTransitionReport" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityFileNumber" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityRegistrantName" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityIncorporationStateCountryCode" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityTaxIdentificationNumber" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressAddressLine1" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressCityOrTown" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressStateOrProvince" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressPostalZipCode" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_CityAreaCode" xlink:type="arc"/>
    <link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_LocalPhoneNumber" xlink:type="arc"/>
    <link:definitionArc order="15" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_Security12bTitle" xlink:type="arc"/>
    <link:definitionArc order="16" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_TradingSymbol" xlink:type="arc"/>
    <link:definitionArc order="17" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_SecurityExchangeName" xlink:type="arc"/>
    <link:definitionArc order="18" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCurrentReportingStatus" xlink:type="arc"/>
    <link:definitionArc order="19" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityInteractiveDataCurrent" xlink:type="arc"/>
    <link:definitionArc order="20" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityFilerCategory" xlink:type="arc"/>
    <link:definitionArc order="21" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntitySmallBusiness" xlink:type="arc"/>
    <link:definitionArc order="22" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityEmergingGrowthCompany" xlink:type="arc"/>
    <link:definitionArc order="23" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityShellCompany" xlink:type="arc"/>
    <link:definitionArc order="24" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCommonStockSharesOutstanding" xlink:type="arc"/>
    <link:definitionArc order="25" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCentralIndexKey" xlink:type="arc"/>
    <link:definitionArc order="26" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_CurrentFiscalYearEndDate" xlink:type="arc"/>
    <link:definitionArc order="27" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentFiscalYearFocus" xlink:type="arc"/>
    <link:definitionArc order="28" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentFiscalPeriodFocus" xlink:type="arc"/>
    <link:definitionArc order="29" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_AmendmentFlag" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited" xlink:href="occ-20240430.xsd#statement-condensed-consolidated-balance-sheets-unaudited" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxesReceivable" xlink:label="us-gaap_IncomeTaxesReceivable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LoansPayableCurrent" xlink:label="us-gaap_LoansPayableCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermLineOfCredit" xlink:label="us-gaap_LongTermLineOfCredit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermLoansPayable" xlink:label="us-gaap_LongTermLoansPayable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherReceivables" xlink:label="us-gaap_OtherReceivables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxesPayableCurrent" xlink:label="us-gaap_TaxesPayableCurrent" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AssetsAbstract" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AssetsCurrentAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AccountsReceivableNetCurrent" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_IncomeTaxesReceivable" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_OtherReceivables" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_InventoryNet" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrent" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_OtherAssetsNoncurrent" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_Assets" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LiabilitiesCurrentAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LoansPayableCurrent" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_TaxesPayableCurrent" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrent" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LongTermLineOfCredit" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LongTermLoansPayable" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_OtherLiabilitiesNoncurrent" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_Liabilities" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquityAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_PreferredStockValue" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_CommonStockValue" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquity" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_CommitmentsAndContingencies" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited-parentheticals" xlink:href="occ-20240430.xsd#statement-condensed-consolidated-balance-sheets-unaudited-parentheticals" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited-parentheticals" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockNoParValue" xlink:label="us-gaap_CommonStockNoParValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockNoParValue" xlink:label="us-gaap_PreferredStockNoParValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="us-gaap_PreferredStockSharesAuthorized" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="us-gaap_PreferredStockSharesIssued" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="us-gaap_PreferredStockSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockNoParValue" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockSharesAuthorized" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockSharesIssued" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockSharesOutstanding" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockNoParValue" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesAuthorized" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesIssued" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesOutstanding" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-condensed-consolidated-statements-of-operations-unaudited" xlink:href="occ-20240430.xsd#statement-condensed-consolidated-statements-of-operations-unaudited" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20240430/role/statement-condensed-consolidated-statements-of-operations-unaudited" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_RoyaltyRevenueExpense" xlink:label="occ_RoyaltyRevenueExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherIncomeAndExpensesAbstract" xlink:label="us-gaap_OtherIncomeAndExpensesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnusualOrInfrequentItemInsuranceProceeds" xlink:label="us-gaap_UnusualOrInfrequentItemInsuranceProceeds" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CostOfGoodsAndServicesSold" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GrossProfit" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="occ_RoyaltyRevenueExpense" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AmortizationOfIntangibleAssets" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingIncomeLoss" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherIncomeAndExpensesAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="us-gaap_InterestExpense" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="us-gaap_UnusualOrInfrequentItemInsuranceProceeds" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="us-gaap_OtherNonoperatingIncomeExpense" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="us-gaap_NonoperatingIncomeExpense" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="us-gaap_IncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="us-gaap_EarningsPerShareBasic" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-condensed-consolidated-statements-of-shareholders-equity-unaudited" xlink:href="occ-20240430.xsd#statement-condensed-consolidated-statements-of-shareholders-equity-unaudited" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20240430/role/statement-condensed-consolidated-statements-of-shareholders-equity-unaudited" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CommonStockMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_RetainedEarningsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesOutstanding" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquity" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" xlink:href="occ-20240430.xsd#statement-condensed-consolidated-statements-of-cash-flows-unaudited" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_NorthMillCapitalLlcMember" xlink:label="occ_NorthMillCapitalLlcMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeasePrincipalPayments" xlink:label="us-gaap_FinanceLeasePrincipalPayments" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherReceivables" xlink:label="us-gaap_IncreaseDecreaseInOtherReceivables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsOfFinancingCosts" xlink:label="us-gaap_PaymentsOfFinancingCosts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireIntangibleAssets" xlink:label="us-gaap_PaymentsToAcquireIntangibleAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromInsuranceSettlementInvestingActivities" xlink:label="us-gaap_ProceedsFromInsuranceSettlementInvestingActivities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromNotesPayable" xlink:label="us-gaap_ProceedsFromNotesPayable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RepaymentsOfNotesPayable" xlink:label="us-gaap_RepaymentsOfNotesPayable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnusualOrInfrequentItemInsuranceProceeds" xlink:label="us-gaap_UnusualOrInfrequentItemInsuranceProceeds" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LineOfCreditFacilityAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityLenderDomain" xlink:to="occ_NorthMillCapitalLlcMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_CreditFacilityAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_RevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DepreciationDepletionAndAmortization" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ProvisionForDoubtfulAccounts" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ShareBasedCompensation" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_UnusualOrInfrequentItemInsuranceProceeds" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherReceivables" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:to="us-gaap_IncreaseDecreaseInInventories" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract" xlink:to="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromInsuranceSettlementInvestingActivities" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireIntangibleAssets" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromNotesPayable" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_RepaymentsOfNotesPayable" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_RepaymentsOfLongTermDebt" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsOfFinancingCosts" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_FinanceLeasePrincipalPayments" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-" xlink:href="occ-20240430.xsd#statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_EmployeesConsultantAndNonemployeeDirectorsMember" xlink:label="occ_EmployeesConsultantAndNonemployeeDirectorsMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_Plan2017Member" xlink:label="occ_Plan2017Member" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockMember" xlink:label="us-gaap_RestrictedStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain-default" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PlanNameAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PlanNameDomain" xlink:to="occ_Plan2017Member" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_TitleOfIndividualAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="occ_EmployeesConsultantAndNonemployeeDirectorsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_SubsequentEventTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SubsequentEventTypeDomain" xlink:to="us-gaap_SubsequentEventMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable" xlink:href="occ-20240430.xsd#statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20240430/role/statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_AllowanceForDoubtfulAccountsForTradeAccountsReceivableDisclosureTextBlock" xlink:label="occ_AllowanceForDoubtfulAccountsForTradeAccountsReceivableDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="occ_AllowanceForDoubtfulAccountsForTradeAccountsReceivableDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-4-inventories" xlink:href="occ-20240430.xsd#statement-note-4-inventories" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20240430/role/statement-note-4-inventories" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="us-gaap_InventoryDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_InventoryDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-5-product-warranties" xlink:href="occ-20240430.xsd#statement-note-5-product-warranties" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20240430/role/statement-note-5-product-warranties" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductWarrantyDisclosureTextBlock" xlink:label="us-gaap_ProductWarrantyDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BalanceSheetLocationAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_ProductWarrantyDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable" xlink:href="occ-20240430.xsd#statement-note-6-longterm-debt-and-notes-payable" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_NorthMillCapitalLlcMember" xlink:label="occ_NorthMillCapitalLlcMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_VirginiaRealEstateLoanMember" xlink:label="occ_VirginiaRealEstateLoanMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtTextBlock" xlink:label="us-gaap_LongTermDebtTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LongtermDebtTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="occ_VirginiaRealEstateLoanMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_CreditFacilityAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_RevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LineOfCreditFacilityAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityLenderDomain" xlink:to="occ_NorthMillCapitalLlcMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_LongTermDebtTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-7-leases-" xlink:href="occ-20240430.xsd#statement-note-7-leases-" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20240430/role/statement-note-7-leases-" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_LesseeOperatingAndFinanceLeasesDisclosureTextBlock" xlink:label="occ_LesseeOperatingAndFinanceLeasesDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_OperatingLeaseForOfficeEquipmentMember" xlink:label="occ_OperatingLeaseForOfficeEquipmentMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_OperatingLeaseForOfficeManufacturingAndWarehouseSpaceInPlanoTexasMember" xlink:label="occ_OperatingLeaseForOfficeManufacturingAndWarehouseSpaceInPlanoTexasMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember" xlink:label="occ_OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseContractualTermAxis" xlink:label="us-gaap_LeaseContractualTermAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseContractualTermDomain" xlink:label="us-gaap_LeaseContractualTermDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseContractualTermDomain" xlink:label="us-gaap_LeaseContractualTermDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_LeaseContractualTermAxis" xlink:to="us-gaap_LeaseContractualTermDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LeaseContractualTermAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LeaseContractualTermDomain" xlink:to="occ_OperatingLeaseForOfficeManufacturingAndWarehouseSpaceInPlanoTexasMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_LeaseContractualTermAxis" xlink:to="us-gaap_LeaseContractualTermDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LeaseContractualTermDomain" xlink:to="occ_OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LeaseContractualTermDomain" xlink:to="occ_OperatingLeaseForOfficeEquipmentMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="occ_LesseeOperatingAndFinanceLeasesDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-9-net-income-loss-per-share" xlink:href="occ-20240430.xsd#statement-note-9-net-income-loss-per-share" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20240430/role/statement-note-9-net-income-loss-per-share" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_EarningsPerShareTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations" xlink:href="occ-20240430.xsd#statement-note-10-segment-information-and-business-and-credit-concentrations" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_OneCustomerMember" xlink:label="occ_OneCustomerMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskDisclosureTextBlock" xlink:label="us-gaap_ConcentrationRiskDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_CustomerConcentrationRiskMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_SalesRevenueNetMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_MajorCustomersAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="occ_OneCustomerMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain-default" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_ConcentrationRiskDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-11-revenue-recognition" xlink:href="occ-20240430.xsd#statement-note-11-revenue-recognition" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20240430/role/statement-note-11-revenue-recognition" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_US" xlink:label="country_US" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonUsMember" xlink:label="us-gaap_NonUsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_StatementGeographicalAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_US" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="us-gaap_NonUsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-tables" xlink:href="occ-20240430.xsd#statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20240430/role/statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_SummaryOfChangesInAllowanceForDoubtfulAccountsForTradeAccountsReceivableTableTextBlock" xlink:label="occ_SummaryOfChangesInAllowanceForDoubtfulAccountsForTradeAccountsReceivableTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="occ_SummaryOfChangesInAllowanceForDoubtfulAccountsForTradeAccountsReceivableTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-4-inventories-tables" xlink:href="occ-20240430.xsd#statement-note-4-inventories-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20240430/role/statement-note-4-inventories-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-5-product-warranties-tables" xlink:href="occ-20240430.xsd#statement-note-5-product-warranties-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20240430/role/statement-note-5-product-warranties-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:label="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-7-leases-tables" xlink:href="occ-20240430.xsd#statement-note-7-leases-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20240430/role/statement-note-7-leases-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_LesseeLeaseLiabilityMaturityTableTextBlock" xlink:label="occ_LesseeLeaseLiabilityMaturityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="occ_LesseeLeaseLiabilityMaturityTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-9-net-income-loss-per-share-tables" xlink:href="occ-20240430.xsd#statement-note-9-net-income-loss-per-share-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20240430/role/statement-note-9-net-income-loss-per-share-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-11-revenue-recognition-tables" xlink:href="occ-20240430.xsd#statement-note-11-revenue-recognition-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20240430/role/statement-note-11-revenue-recognition-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock" xlink:label="us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual" xlink:href="occ-20240430.xsd#statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_EmployeesConsultantAndNonemployeeDirectorsMember" xlink:label="occ_EmployeesConsultantAndNonemployeeDirectorsMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_Plan2017Member" xlink:label="occ_Plan2017Member" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockMember" xlink:label="us-gaap_RestrictedStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain-default" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PlanNameAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PlanNameDomain" xlink:to="occ_Plan2017Member" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_TitleOfIndividualAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="occ_EmployeesConsultantAndNonemployeeDirectorsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_SubsequentEventTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SubsequentEventTypeDomain" xlink:to="us-gaap_SubsequentEventMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-summary-of-changes-in-the-allowance-for-doubtful-accounts-for-trade-accounts-receivable-details" xlink:href="occ-20240430.xsd#statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-summary-of-changes-in-the-allowance-for-doubtful-accounts-for-trade-accounts-receivable-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20240430/role/statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-summary-of-changes-in-the-allowance-for-doubtful-accounts-for-trade-accounts-receivable-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProvisionForDoubtfulAccounts" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-4-inventories-components-of-inventories-details" xlink:href="occ-20240430.xsd#statement-note-4-inventories-components-of-inventories-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20240430/role/statement-note-4-inventories-components-of-inventories-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventorySuppliesNetOfReserves" xlink:label="us-gaap_InventorySuppliesNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventorySuppliesNetOfReserves" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryNet" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-5-product-warranties-details-textual" xlink:href="occ-20240430.xsd#statement-note-5-product-warranties-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20240430/role/statement-note-5-product-warranties-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductWarrantyAccrual" xlink:label="us-gaap_ProductWarrantyAccrual" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductWarrantyExpense" xlink:label="us-gaap_ProductWarrantyExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BalanceSheetLocationAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProductWarrantyAccrual" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProductWarrantyExpense" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details" xlink:href="occ-20240430.xsd#statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20240430/role/statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductWarrantyAccrual" xlink:label="us-gaap_ProductWarrantyAccrual" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductWarrantyAccrualPayments" xlink:label="us-gaap_ProductWarrantyAccrualPayments" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:label="us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:label="us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProductWarrantyAccrual" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProductWarrantyAccrualPayments" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual" xlink:href="occ-20240430.xsd#statement-note-6-longterm-debt-and-notes-payable-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_DebtInstrumentAmortizationPeriod" xlink:label="occ_DebtInstrumentAmortizationPeriod" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_DebtInstrumentTermExtensions" xlink:label="occ_DebtInstrumentTermExtensions" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_LineOfCreditFacilityAdditionalCapacityForAdvances" xlink:label="occ_LineOfCreditFacilityAdditionalCapacityForAdvances" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_LineOfCreditFacilityMaximumPercentageOfOutstandingEligibleAccountsLoanValue" xlink:label="occ_LineOfCreditFacilityMaximumPercentageOfOutstandingEligibleAccountsLoanValue" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_LineOfCreditFacilityPercentOfEligibleAccounts" xlink:label="occ_LineOfCreditFacilityPercentOfEligibleAccounts" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_LineOfCreditFacilityPercentOfEligibleInventory" xlink:label="occ_LineOfCreditFacilityPercentOfEligibleInventory" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_LineOfCreditFacilityRestrictedCapacityForAdvances" xlink:label="occ_LineOfCreditFacilityRestrictedCapacityForAdvances" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_NorthMillCapitalLlcMember" xlink:label="occ_NorthMillCapitalLlcMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_VirginiaRealEstateLoanMember" xlink:label="occ_VirginiaRealEstateLoanMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration" xlink:label="us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermLoansPayable" xlink:label="us-gaap_LongTermLoansPayable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LongtermDebtTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="occ_VirginiaRealEstateLoanMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_CreditFacilityAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_RevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LineOfCreditFacilityAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityLenderDomain" xlink:to="occ_NorthMillCapitalLlcMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="occ_DebtInstrumentAmortizationPeriod" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermLoansPayable" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="occ_LineOfCreditFacilityPercentOfEligibleAccounts" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="occ_LineOfCreditFacilityPercentOfEligibleInventory" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="occ_LineOfCreditFacilityAdditionalCapacityForAdvances" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="occ_LineOfCreditFacilityMaximumPercentageOfOutstandingEligibleAccountsLoanValue" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="occ_LineOfCreditFacilityRestrictedCapacityForAdvances" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="occ_DebtInstrumentTermExtensions" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LineOfCredit" xlink:type="arc"/>
    <link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-7-leases-details-textual" xlink:href="occ-20240430.xsd#statement-note-7-leases-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20240430/role/statement-note-7-leases-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_OperatingLeaseForOfficeEquipmentMember" xlink:label="occ_OperatingLeaseForOfficeEquipmentMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_OperatingLeaseForOfficeManufacturingAndWarehouseSpaceInPlanoTexasMember" xlink:label="occ_OperatingLeaseForOfficeManufacturingAndWarehouseSpaceInPlanoTexasMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember" xlink:label="occ_OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AreaOfRealEstateProperty" xlink:label="us-gaap_AreaOfRealEstateProperty" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseInterestExpense" xlink:label="us-gaap_FinanceLeaseInterestExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeasePrincipalPayments" xlink:label="us-gaap_FinanceLeasePrincipalPayments" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseRightOfUseAsset" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseContractualTermAxis" xlink:label="us-gaap_LeaseContractualTermAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseContractualTermDomain" xlink:label="us-gaap_LeaseContractualTermDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseContractualTermDomain" xlink:label="us-gaap_LeaseContractualTermDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeFinanceLeaseDiscountRate" xlink:label="us-gaap_LesseeFinanceLeaseDiscountRate" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeFinanceLeaseRemainingLeaseTerm" xlink:label="us-gaap_LesseeFinanceLeaseRemainingLeaseTerm" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseTermOfContract" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseExpense" xlink:label="us-gaap_OperatingLeaseExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeasePayments" xlink:label="us-gaap_OperatingLeasePayments" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_LeaseContractualTermAxis" xlink:to="us-gaap_LeaseContractualTermDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LeaseContractualTermAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LeaseContractualTermDomain" xlink:to="occ_OperatingLeaseForOfficeManufacturingAndWarehouseSpaceInPlanoTexasMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_LeaseContractualTermAxis" xlink:to="us-gaap_LeaseContractualTermDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LeaseContractualTermDomain" xlink:to="occ_OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LeaseContractualTermDomain" xlink:to="occ_OperatingLeaseForOfficeEquipmentMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AreaOfRealEstateProperty" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseTermOfContract" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseExpense" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeasePayments" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseRightOfUseAsset" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityCurrent" xlink:type="arc"/>
    <link:definitionArc order="13" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:type="arc"/>
    <link:definitionArc order="14" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseInterestExpense" xlink:type="arc"/>
    <link:definitionArc order="15" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:type="arc"/>
    <link:definitionArc order="16" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeFinanceLeaseRemainingLeaseTerm" xlink:type="arc"/>
    <link:definitionArc order="17" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeFinanceLeaseDiscountRate" xlink:type="arc"/>
    <link:definitionArc order="18" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeasePrincipalPayments" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-7-leases-future-payments-due-details" xlink:href="occ-20240430.xsd#statement-note-7-leases-future-payments-due-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20240430/role/statement-note-7-leases-future-payments-due-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="arc"/>
    <link:definitionArc order="4" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="arc"/>
    <link:definitionArc order="5" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:type="arc"/>
    <link:definitionArc order="6" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:type="arc"/>
    <link:definitionArc order="7" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:type="arc"/>
    <link:definitionArc order="8" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:type="arc"/>
    <link:definitionArc order="9" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:type="arc"/>
    <link:definitionArc order="10" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:type="arc"/>
    <link:definitionArc order="11" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseLiability" xlink:type="arc"/>
    <link:definitionArc order="12" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiability" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-9-net-income-loss-per-share-details-textual" xlink:href="occ-20240430.xsd#statement-note-9-net-income-loss-per-share-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20240430/role/statement-note-9-net-income-loss-per-share-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-9-net-income-loss-per-share-components-of-reconciliation-of-numerators-and-denominators-net-loss-per-share-details" xlink:href="occ-20240430.xsd#statement-note-9-net-income-loss-per-share-components-of-reconciliation-of-numerators-and-denominators-net-loss-per-share-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20240430/role/statement-note-9-net-income-loss-per-share-components-of-reconciliation-of-numerators-and-denominators-net-loss-per-share-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareBasic" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual" xlink:href="occ-20240430.xsd#statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_ConcentrationRiskNumberOfCustomers" xlink:label="occ_ConcentrationRiskNumberOfCustomers" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_OneCustomerMember" xlink:label="occ_OneCustomerMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_CustomerConcentrationRiskMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_SalesRevenueNetMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain-default" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_MajorCustomersAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="occ_OneCustomerMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain-default" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="occ_ConcentrationRiskNumberOfCustomers" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NumberOfReportableSegments" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-11-revenue-recognition-details-textual" xlink:href="occ-20240430.xsd#statement-note-11-revenue-recognition-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20240430/role/statement-note-11-revenue-recognition-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerRefundLiability" xlink:label="us-gaap_ContractWithCustomerRefundLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerLiability" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerRefundLiability" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-11-revenue-recognition-schedule-of-revenue-from-external-customers-by-geographical-areas-details" xlink:href="occ-20240430.xsd#statement-note-11-revenue-recognition-schedule-of-revenue-from-external-customers-by-geographical-areas-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20240430/role/statement-note-11-revenue-recognition-schedule-of-revenue-from-external-customers-by-geographical-areas-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_US" xlink:label="country_US" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonUsMember" xlink:label="us-gaap_NonUsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_StatementGeographicalAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_US" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain-default" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="us-gaap_NonUsMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain-default" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-roles-2024.xsd#eedm" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesNoncurrentAbstract" xlink:label="us-gaap_LiabilitiesNoncurrentAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesNoncurrentAbstract" xlink:to="us-gaap_OtherLiabilitiesNoncurrent" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_OtherAssetsNoncurrent" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:type="locator"/>
    <link:definitionArc order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:type="arc"/>
  </link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>8
<FILENAME>occ-20240430_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome XBRL - 05:37PM UTC 2024-06-06--><link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xlink="http://www.w3.org/1999/xlink" 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">
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" xlink:type="simple"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/netLabel" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" xlink:type="simple"/>
  <link:labelLink xlink:role="http://www.xbrl.org/2003/role/link" xlink:type="extended">
    <link:loc xlink:href="occ-20240430.xsd#occ_DocumentAndEntityInformation" xlink:label="occ_DocumentAndEntityInformation" xlink:type="locator"/>
    <link:label xlink:label="occ_DocumentAndEntityInformation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document And Entity Information</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_DocumentAndEntityInformation" xlink:to="occ_DocumentAndEntityInformation-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherReceivables" xlink:label="us-gaap_OtherReceivables" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherReceivables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other receivables</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherReceivables" xlink:to="us-gaap_OtherReceivables-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherIncomeAndExpensesAbstract" xlink:label="us-gaap_OtherIncomeAndExpensesAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherIncomeAndExpensesAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other income (expense), net:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="us-gaap_OtherIncomeAndExpensesAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_NoteToFinancialStatementDetailsTextual" xlink:label="occ_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:label xlink:label="occ_NoteToFinancialStatementDetailsTextual-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note To Financial Statement Details Textual</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_NoteToFinancialStatementDetailsTextual" xlink:to="occ_NoteToFinancialStatementDetailsTextual-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">2025, Operating Lease</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths-label" xlink:type="arc"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_statement-statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-tables" xlink:label="occ_statement-statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-tables" xlink:type="locator"/>
    <link:label xlink:label="occ_statement-statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 3 - Allowance for Credit Losses for Trade Accounts Receivable</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_statement-statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-tables" xlink:to="occ_statement-statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">2026, Operating Lease</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo-label" xlink:type="arc"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_statement-statement-note-4-inventories-tables" xlink:label="occ_statement-statement-note-4-inventories-tables" xlink:type="locator"/>
    <link:label xlink:label="occ_statement-statement-note-4-inventories-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 4 - Inventories</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_statement-statement-note-4-inventories-tables" xlink:to="occ_statement-statement-note-4-inventories-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_statement-statement-note-5-product-warranties-tables" xlink:label="occ_statement-statement-note-5-product-warranties-tables" xlink:type="locator"/>
    <link:label xlink:label="occ_statement-statement-note-5-product-warranties-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 5 - Product Warranties</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_statement-statement-note-5-product-warranties-tables" xlink:to="occ_statement-statement-note-5-product-warranties-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_statement-statement-note-7-leases-tables" xlink:label="occ_statement-statement-note-7-leases-tables" xlink:type="locator"/>
    <link:label xlink:label="occ_statement-statement-note-7-leases-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 7 - Leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_statement-statement-note-7-leases-tables" xlink:to="occ_statement-statement-note-7-leases-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_statement-statement-note-9-net-income-loss-per-share-tables" xlink:label="occ_statement-statement-note-9-net-income-loss-per-share-tables" xlink:type="locator"/>
    <link:label xlink:label="occ_statement-statement-note-9-net-income-loss-per-share-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 9 - Net Income (Loss) Per Share</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_statement-statement-note-9-net-income-loss-per-share-tables" xlink:to="occ_statement-statement-note-9-net-income-loss-per-share-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_statement-statement-note-11-revenue-recognition-tables" xlink:label="occ_statement-statement-note-11-revenue-recognition-tables" xlink:type="locator"/>
    <link:label xlink:label="occ_statement-statement-note-11-revenue-recognition-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 11 - Revenue Recognition</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_statement-statement-note-11-revenue-recognition-tables" xlink:to="occ_statement-statement-note-11-revenue-recognition-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_statement-statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-summary-of-changes-in-the-allowance-for-doubtful-accounts-for-trade-accounts-receivable-details" xlink:label="occ_statement-statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-summary-of-changes-in-the-allowance-for-doubtful-accounts-for-trade-accounts-receivable-details" xlink:type="locator"/>
    <link:label xlink:label="occ_statement-statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-summary-of-changes-in-the-allowance-for-doubtful-accounts-for-trade-accounts-receivable-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 3 - Allowance for Credit Losses for Trade Accounts Receivable - Summary of Changes in the Allowance for Doubtful Accounts for Trade Accounts Receivable (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_statement-statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-summary-of-changes-in-the-allowance-for-doubtful-accounts-for-trade-accounts-receivable-details" xlink:to="occ_statement-statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-summary-of-changes-in-the-allowance-for-doubtful-accounts-for-trade-accounts-receivable-details-label" xlink:type="arc"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_statement-statement-note-4-inventories-components-of-inventories-details" xlink:label="occ_statement-statement-note-4-inventories-components-of-inventories-details" xlink:type="locator"/>
    <link:label xlink:label="occ_statement-statement-note-4-inventories-components-of-inventories-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 4 - Inventories - Components of Inventories (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_statement-statement-note-4-inventories-components-of-inventories-details" xlink:to="occ_statement-statement-note-4-inventories-components-of-inventories-details-label" xlink:type="arc"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_statement-statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details" xlink:label="occ_statement-statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details" xlink:type="locator"/>
    <link:label xlink:label="occ_statement-statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 5 - Product Warranties - Changes in Accrual for Product Warranties (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_statement-statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details" xlink:to="occ_statement-statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermLineOfCredit" xlink:label="us-gaap_LongTermLineOfCredit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LongTermLineOfCredit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note payable, revolver - noncurrent</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermLineOfCredit" xlink:to="us-gaap_LongTermLineOfCredit-label" xlink:type="arc"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_statement-statement-note-7-leases-future-payments-due-details" xlink:label="occ_statement-statement-note-7-leases-future-payments-due-details" xlink:type="locator"/>
    <link:label xlink:label="occ_statement-statement-note-7-leases-future-payments-due-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 7 - Leases - Future Payments Due (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_statement-statement-note-7-leases-future-payments-due-details" xlink:to="occ_statement-statement-note-7-leases-future-payments-due-details-label" xlink:type="arc"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_statement-statement-note-9-net-income-loss-per-share-components-of-reconciliation-of-numerators-and-denominators-net-loss-per-share-details" xlink:label="occ_statement-statement-note-9-net-income-loss-per-share-components-of-reconciliation-of-numerators-and-denominators-net-loss-per-share-details" xlink:type="locator"/>
    <link:label xlink:label="occ_statement-statement-note-9-net-income-loss-per-share-components-of-reconciliation-of-numerators-and-denominators-net-loss-per-share-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 9 - Net Income (Loss) Per Share - Components of Reconciliation of Numerators and Denominators Net Loss Per Share (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_statement-statement-note-9-net-income-loss-per-share-components-of-reconciliation-of-numerators-and-denominators-net-loss-per-share-details" xlink:to="occ_statement-statement-note-9-net-income-loss-per-share-components-of-reconciliation-of-numerators-and-denominators-net-loss-per-share-details-label" xlink:type="arc"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_statement-statement-note-11-revenue-recognition-schedule-of-revenue-from-external-customers-by-geographical-areas-details" xlink:label="occ_statement-statement-note-11-revenue-recognition-schedule-of-revenue-from-external-customers-by-geographical-areas-details" xlink:type="locator"/>
    <link:label xlink:label="occ_statement-statement-note-11-revenue-recognition-schedule-of-revenue-from-external-customers-by-geographical-areas-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 11 - Revenue Recognition - Schedule of Revenue from External Customers by Geographical Areas (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_statement-statement-note-11-revenue-recognition-schedule-of-revenue-from-external-customers-by-geographical-areas-details" xlink:to="occ_statement-statement-note-11-revenue-recognition-schedule-of-revenue-from-external-customers-by-geographical-areas-details-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherAssetsNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other assets, net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsNoncurrent" xlink:to="us-gaap_OtherAssetsNoncurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based compensation expense</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation-label" xlink:type="arc"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_NotesToFinancialStatements" xlink:label="occ_NotesToFinancialStatements" xlink:type="locator"/>
    <link:label xlink:label="occ_NotesToFinancialStatements-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Notes To Financial Statements</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_NotesToFinancialStatements" xlink:to="occ_NotesToFinancialStatements-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LiabilitiesCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LiabilitiesCurrent</link:label>
    <link:label xlink:label="us-gaap_LiabilitiesCurrent-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total current liabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">2024, Operating Lease</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear-label" xlink:type="arc"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_NotesToFinancialStatementsAbstract" xlink:label="occ_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:label xlink:label="occ_NotesToFinancialStatementsAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Notes To Financial Statements [Abstract]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_NotesToFinancialStatementsAbstract" xlink:to="occ_NotesToFinancialStatementsAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseTermOfContract" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LesseeOperatingLeaseTermOfContract</link:label>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Lessee, Operating Lease, Term of Contract</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseTermOfContract" xlink:to="us-gaap_LesseeOperatingLeaseTermOfContract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod-label" xlink:type="arc"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_LesseeOperatingAndFinanceLeasesDisclosureTextBlock" xlink:label="occ_LesseeOperatingAndFinanceLeasesDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="occ_LesseeOperatingAndFinanceLeasesDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lessee, Operating and Finance Leases Disclosure [Text Block]</link:label>
    <link:label xlink:label="occ_LesseeOperatingAndFinanceLeasesDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The entire disclosure for operating and finance leases of lessee. Includes, but is not limited to, description of lessee's operating and finance lease and maturity analysis of operating and finance lease liability.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_LesseeOperatingAndFinanceLeasesDisclosureTextBlock" xlink:to="occ_LesseeOperatingAndFinanceLeasesDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DepreciationDepletionAndAmortization-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Depreciation and amortization</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationDepletionAndAmortization" xlink:to="us-gaap_DepreciationDepletionAndAmortization-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation</link:label>
    <link:label xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LoansPayableCurrent" xlink:label="us-gaap_LoansPayableCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LoansPayableCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Current installments of long-term debt</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LoansPayableCurrent" xlink:to="us-gaap_LoansPayableCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AssetsCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_AssetsCurrent</link:label>
    <link:label xlink:label="us-gaap_AssetsCurrent-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total current assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeFinanceLeaseDiscountRate" xlink:label="us-gaap_LesseeFinanceLeaseDiscountRate" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeFinanceLeaseDiscountRate-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LesseeFinanceLeaseDiscountRate</link:label>
    <link:label xlink:label="us-gaap_LesseeFinanceLeaseDiscountRate-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Lessee, Finance Lease, Discount Rate</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeFinanceLeaseDiscountRate" xlink:to="us-gaap_LesseeFinanceLeaseDiscountRate-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxesReceivable" xlink:label="us-gaap_IncomeTaxesReceivable" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeTaxesReceivable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income taxes refundable - current</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxesReceivable" xlink:to="us-gaap_IncomeTaxesReceivable-label" xlink:type="arc"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_OperatingLeaseForOfficeEquipmentMember" xlink:label="occ_OperatingLeaseForOfficeEquipmentMember" xlink:type="locator"/>
    <link:label xlink:label="occ_OperatingLeaseForOfficeEquipmentMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating Lease For Office Equipment [Member]</link:label>
    <link:label xlink:label="occ_OperatingLeaseForOfficeEquipmentMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents operating lease for office equipment.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_OperatingLeaseForOfficeEquipmentMember" xlink:to="occ_OperatingLeaseForOfficeEquipmentMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CommonStockValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common stock, no par value, authorized 50,000,000 shares; issued and outstanding 7,852,515 shares at April 30, 2024 and 7,893,681 shares at October 31, 2023</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockValue" xlink:to="us-gaap_CommonStockValue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Adjustments to reconcile net income (loss) to net cash provided by (used in) operating activities:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CommonStockSharesAuthorized-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_CommonStockSharesAuthorized</link:label>
    <link:label xlink:label="us-gaap_CommonStockSharesAuthorized-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Common Stock, Shares Authorized (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesAuthorized" xlink:to="us-gaap_CommonStockSharesAuthorized-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounts payable and accrued expenses</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CommonStockSharesIssued-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_CommonStockSharesIssued</link:label>
    <link:label xlink:label="us-gaap_CommonStockSharesIssued-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Common Stock, Shares, Issued (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockNoParValue" xlink:label="us-gaap_CommonStockNoParValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CommonStockNoParValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_CommonStockNoParValue</link:label>
    <link:label xlink:label="us-gaap_CommonStockNoParValue-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Common Stock, No Par Value (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockNoParValue" xlink:to="us-gaap_CommonStockNoParValue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxesPayableCurrent" xlink:label="us-gaap_TaxesPayableCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_TaxesPayableCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income taxes payable</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TaxesPayableCurrent" xlink:to="us-gaap_TaxesPayableCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accrued compensation and payroll taxes</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:label xlink:label="srt_RangeMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statistical Measurement [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeMember" xlink:to="srt_RangeMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeasePayments" xlink:label="us-gaap_OperatingLeasePayments" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeasePayments-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_OperatingLeasePayments</link:label>
    <link:label xlink:label="us-gaap_OperatingLeasePayments-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Operating Lease, Payments</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasePayments" xlink:to="us-gaap_OperatingLeasePayments-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:label xlink:label="srt_MaximumMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Maximum [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MaximumMember" xlink:to="srt_MaximumMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:label xlink:label="srt_MinimumMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Minimum [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MinimumMember" xlink:to="srt_MinimumMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RevolvingCreditFacilityMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revolving Credit Facility [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevolvingCreditFacilityMember" xlink:to="us-gaap_RevolvingCreditFacilityMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:label xlink:label="srt_RangeAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statistical Measurement [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeAxis" xlink:to="srt_RangeAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CreditFacilityAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Credit Facility [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PreferredStockValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Preferred stock, no par value, authorized 1,000,000 shares; none issued and outstanding</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockValue" xlink:to="us-gaap_PreferredStockValue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CreditFacilityDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Credit Facility [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_CreditFacilityDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="us-gaap_PreferredStockSharesIssued" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PreferredStockSharesIssued-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_PreferredStockSharesIssued</link:label>
    <link:label xlink:label="us-gaap_PreferredStockSharesIssued-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Preferred Stock, Shares Issued (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesIssued" xlink:to="us-gaap_PreferredStockSharesIssued-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnusualOrInfrequentItemInsuranceProceeds" xlink:label="us-gaap_UnusualOrInfrequentItemInsuranceProceeds" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_UnusualOrInfrequentItemInsuranceProceeds-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Gain on insurance proceeds, net</link:label>
    <link:label xlink:label="us-gaap_UnusualOrInfrequentItemInsuranceProceeds-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Gain on insurance proceeds, net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnusualOrInfrequentItemInsuranceProceeds" xlink:to="us-gaap_UnusualOrInfrequentItemInsuranceProceeds-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PolicyTextBlockAbstract" xlink:label="us-gaap_PolicyTextBlockAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PolicyTextBlockAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_PolicyTextBlockAbstract</link:label>
    <link:label xlink:label="us-gaap_PolicyTextBlockAbstract-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accounting Policies</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PolicyTextBlockAbstract" xlink:to="us-gaap_PolicyTextBlockAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockNoParValue" xlink:label="us-gaap_PreferredStockNoParValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PreferredStockNoParValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_PreferredStockNoParValue</link:label>
    <link:label xlink:label="us-gaap_PreferredStockNoParValue-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Preferred Stock, No Par Value (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockNoParValue" xlink:to="us-gaap_PreferredStockNoParValue-label" xlink:type="arc"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_RoyaltyRevenueExpense" xlink:label="occ_RoyaltyRevenueExpense" xlink:type="locator"/>
    <link:label xlink:label="occ_RoyaltyRevenueExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">occ_RoyaltyRevenueExpense</link:label>
    <link:label xlink:label="occ_RoyaltyRevenueExpense-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Royalty expense, net</link:label>
    <link:label xlink:label="occ_RoyaltyRevenueExpense-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Net amount of revenue (expense) recognized during the period related to royalty transactions.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_RoyaltyRevenueExpense" xlink:to="occ_RoyaltyRevenueExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" xlink:type="locator"/>
    <link:label xlink:label="srt_StatementGeographicalAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Geographical [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_StatementGeographicalAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" xlink:type="locator"/>
    <link:label xlink:label="srt_SegmentGeographicalDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Geographical [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_SegmentGeographicalDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="us-gaap_PreferredStockSharesAuthorized" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PreferredStockSharesAuthorized-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_PreferredStockSharesAuthorized</link:label>
    <link:label xlink:label="us-gaap_PreferredStockSharesAuthorized-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Preferred Stock, Shares Authorized (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesAuthorized" xlink:to="us-gaap_PreferredStockSharesAuthorized-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InventoryNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Inventories</link:label>
    <link:label xlink:label="us-gaap_InventoryNet-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net sales</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireIntangibleAssets" xlink:label="us-gaap_PaymentsToAcquireIntangibleAssets" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PaymentsToAcquireIntangibleAssets-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_PaymentsToAcquireIntangibleAssets</link:label>
    <link:label xlink:label="us-gaap_PaymentsToAcquireIntangibleAssets-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Investment in intangible assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireIntangibleAssets" xlink:to="us-gaap_PaymentsToAcquireIntangibleAssets-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</link:label>
    <link:label xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Purchase of and deposits for the purchase of property and equipment</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" xlink:type="locator"/>
    <link:label xlink:label="srt_MajorCustomersAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Customer [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_MajorCustomersAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain" xlink:type="locator"/>
    <link:label xlink:label="srt_NameOfMajorCustomerDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Customer [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="srt_NameOfMajorCustomerDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Liabilities and Shareholders&#8217; Equity</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductWarrantyAccrualPayments" xlink:label="us-gaap_ProductWarrantyAccrualPayments" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProductWarrantyAccrualPayments-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ProductWarrantyAccrualPayments</link:label>
    <link:label xlink:label="us-gaap_ProductWarrantyAccrualPayments-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Warranty claims and costs paid during the period</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyAccrualPayments" xlink:to="us-gaap_ProductWarrantyAccrualPayments-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LiabilitiesCurrentAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Current liabilities:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:label="us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProductWarrantyAccrualWarrantiesIssued-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Liabilities accrued for warranties issued during the period</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:to="us-gaap_ProductWarrantyAccrualWarrantiesIssued-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_Assets-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_Assets</link:label>
    <link:label xlink:label="us-gaap_Assets-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:label="us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Changes in liability for pre-existing warranties during the period</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:to="us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PlanNameAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Plan Name [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PlanNameDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Plan Name [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PlanNameDomain" xlink:to="us-gaap_PlanNameDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash flows from operating activities:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized</link:label>
    <link:label xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseExpense" xlink:label="us-gaap_OperatingLeaseExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeaseExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_OperatingLeaseExpense</link:label>
    <link:label xlink:label="us-gaap_OperatingLeaseExpense-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Operating Lease, Expense</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseExpense" xlink:to="us-gaap_OperatingLeaseExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1</link:label>
    <link:label xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementLineItems-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement [Line Items]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementLineItems-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</link:label>
    <link:label xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss, Current</link:label>
    <link:label xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Balance at beginning of period</link:label>
    <link:label xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Balance at end of period</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration" xlink:label="us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration</link:label>
    <link:label xlink:label="us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Debt Instrument, Variable Interest Rate, Type [Extensible Enumeration]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration" xlink:to="us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccountsReceivableNetCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Trade accounts receivable, net of allowance for credit losses of $54,261 at April 30, 2024 and $71,189 at October 31, 2023</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NumberOfReportableSegments-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_NumberOfReportableSegments</link:label>
    <link:label xlink:label="us-gaap_NumberOfReportableSegments-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Number of Reportable Segments</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NumberOfReportableSegments" xlink:to="us-gaap_NumberOfReportableSegments-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-Based Payment Arrangement [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StockholdersEquityAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Shareholders&#8217; equity:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:label="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Product Warranty Liability [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:to="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherNonoperatingIncomeExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other, net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNonoperatingIncomeExpense" xlink:to="us-gaap_OtherNonoperatingIncomeExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NonoperatingIncomeExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_NonoperatingIncomeExpense</link:label>
    <link:label xlink:label="us-gaap_NonoperatingIncomeExpense-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Other income (expense), net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_NonoperatingIncomeExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductWarrantyDisclosureTextBlock" xlink:label="us-gaap_ProductWarrantyDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProductWarrantyDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Product Warranty Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyDisclosureTextBlock" xlink:to="us-gaap_ProductWarrantyDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Award Type [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AssetsCurrentAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Current assets:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrentAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="us-gaap_FairValueDisclosuresTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FairValueDisclosuresTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value Disclosures [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueDisclosuresTextBlock" xlink:to="us-gaap_FairValueDisclosuresTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetIncomeLoss-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net loss</link:label>
    <link:label xlink:label="us-gaap_NetIncomeLoss-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net income (loss)</link:label>
    <link:label xlink:label="us-gaap_NetIncomeLoss-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Net income (loss)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AwardTypeAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Award Type [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_AwardTypeAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Intangible assets, net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations</link:label>
    <link:label xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Cash at beginning of period</link:label>
    <link:label xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Cash at end of period</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AssetsAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromInsuranceSettlementInvestingActivities" xlink:label="us-gaap_ProceedsFromInsuranceSettlementInvestingActivities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProceedsFromInsuranceSettlementInvestingActivities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Insurance proceeds, net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromInsuranceSettlementInvestingActivities" xlink:to="us-gaap_ProceedsFromInsuranceSettlementInvestingActivities-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</link:label>
    <link:label xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net increase (decrease) in cash</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_Liabilities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_Liabilities</link:label>
    <link:label xlink:label="us-gaap_Liabilities-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total liabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_Liabilities-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_NetCashProvidedByUsedInFinancingActivities</link:label>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net cash provided by (used in) financing activities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockMember" xlink:label="us-gaap_RestrictedStockMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RestrictedStockMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Restricted Stock [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedStockMember" xlink:to="us-gaap_RestrictedStockMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CommitmentsAndContingencies-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Commitments and Contingencies</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingencies" xlink:to="us-gaap_CommitmentsAndContingencies-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingIncomeLoss-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_OperatingIncomeLoss</link:label>
    <link:label xlink:label="us-gaap_OperatingIncomeLoss-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Income (loss) from operations</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_NetCashProvidedByUsedInOperatingActivities</link:label>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net cash provided by (used in) operating activities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Prepaid expenses and other assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_NetCashProvidedByUsedInInvestingActivities</link:label>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net cash provided by (used in) investing activities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_GrossProfit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_GrossProfit</link:label>
    <link:label xlink:label="us-gaap_GrossProfit-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Gross profit</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CostOfGoodsAndServicesSold-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cost of goods sold</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfGoodsAndServicesSold" xlink:to="us-gaap_CostOfGoodsAndServicesSold-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Commitments and Contingencies Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ContractWithCustomerLiability-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ContractWithCustomerLiability</link:label>
    <link:label xlink:label="us-gaap_ContractWithCustomerLiability-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Contract with Customer, Liability</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiability" xlink:to="us-gaap_ContractWithCustomerLiability-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PropertyPlantAndEquipmentNet-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Property and equipment, net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LongtermDebtTypeAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Long-Term Debt, Type [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation</link:label>
    <link:label xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Payroll taxes withheld and remitted on share-based payments</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LongtermDebtTypeDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Long-Term Debt, Type [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="us-gaap_LongtermDebtTypeDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductWarrantyAccrual" xlink:label="us-gaap_ProductWarrantyAccrual" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProductWarrantyAccrual-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ProductWarrantyAccrual</link:label>
    <link:label xlink:label="us-gaap_ProductWarrantyAccrual-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Standard and Extended Product Warranty Accrual</link:label>
    <link:label xlink:label="us-gaap_ProductWarrantyAccrual-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Balance at beginning of period</link:label>
    <link:label xlink:label="us-gaap_ProductWarrantyAccrual-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Balance at end of period</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyAccrual" xlink:to="us-gaap_ProductWarrantyAccrual-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash flows from investing activities:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RetainedEarningsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Retained Earnings [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsMember" xlink:to="us-gaap_RetainedEarningsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EarningsPerShareTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Earnings Per Share [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareTextBlock" xlink:to="us-gaap_EarningsPerShareTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="locator"/>
    <link:label xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Title and Position [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis" xlink:type="locator"/>
    <link:label xlink:label="srt_TitleOfIndividualAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Title and Position [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Income taxes payable</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:to="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Accounts payable and accrued expenses</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CommonStockMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common Stock [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockMember" xlink:to="us-gaap_CommonStockMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Accrued compensation and payroll taxes</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeTaxExpenseBenefit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income tax expense</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementEquityComponentsAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Equity Components [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_StatementEquityComponentsAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EquityComponentDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Equity Component [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_EquityComponentDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounts Payable and Accrued Liabilities [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesMember-label" xlink:type="arc"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_LineOfCreditFacilityMaximumPercentageOfOutstandingEligibleAccountsLoanValue" xlink:label="occ_LineOfCreditFacilityMaximumPercentageOfOutstandingEligibleAccountsLoanValue" xlink:type="locator"/>
    <link:label xlink:label="occ_LineOfCreditFacilityMaximumPercentageOfOutstandingEligibleAccountsLoanValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">occ_LineOfCreditFacilityMaximumPercentageOfOutstandingEligibleAccountsLoanValue</link:label>
    <link:label xlink:label="occ_LineOfCreditFacilityMaximumPercentageOfOutstandingEligibleAccountsLoanValue-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Line of Credit Facility, Maximum Percentage of Outstanding Eligible Accounts Loan Value</link:label>
    <link:label xlink:label="occ_LineOfCreditFacilityMaximumPercentageOfOutstandingEligibleAccountsLoanValue-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Percent of maximum outstanding eligible accounts loan value available for advance.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_LineOfCreditFacilityMaximumPercentageOfOutstandingEligibleAccountsLoanValue" xlink:to="occ_LineOfCreditFacilityMaximumPercentageOfOutstandingEligibleAccountsLoanValue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</link:label>
    <link:label xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Income (loss) before income taxes</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest-label" xlink:type="arc"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_NorthMillCapitalLlcMember" xlink:label="occ_NorthMillCapitalLlcMember" xlink:type="locator"/>
    <link:label xlink:label="occ_NorthMillCapitalLlcMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">North Mill Capital LLC [Member]</link:label>
    <link:label xlink:label="occ_NorthMillCapitalLlcMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents North Mill Capital LLC.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_NorthMillCapitalLlcMember" xlink:to="occ_NorthMillCapitalLlcMember-label" xlink:type="arc"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_DebtInstrumentAmortizationPeriod" xlink:label="occ_DebtInstrumentAmortizationPeriod" xlink:type="locator"/>
    <link:label xlink:label="occ_DebtInstrumentAmortizationPeriod-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">occ_DebtInstrumentAmortizationPeriod</link:label>
    <link:label xlink:label="occ_DebtInstrumentAmortizationPeriod-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Debt Instrument, Amortization Period</link:label>
    <link:label xlink:label="occ_DebtInstrumentAmortizationPeriod-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Period for amortization of the debt instrument.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_DebtInstrumentAmortizationPeriod" xlink:to="occ_DebtInstrumentAmortizationPeriod-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsOfFinancingCosts" xlink:label="us-gaap_PaymentsOfFinancingCosts" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PaymentsOfFinancingCosts-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_PaymentsOfFinancingCosts</link:label>
    <link:label xlink:label="us-gaap_PaymentsOfFinancingCosts-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Payments for financing costs</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfFinancingCosts" xlink:to="us-gaap_PaymentsOfFinancingCosts-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LineOfCredit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LineOfCredit</link:label>
    <link:label xlink:label="us-gaap_LineOfCredit-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Long-Term Line of Credit</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCredit" xlink:to="us-gaap_LineOfCredit-label" xlink:type="arc"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_LineOfCreditFacilityPercentOfEligibleAccounts" xlink:label="occ_LineOfCreditFacilityPercentOfEligibleAccounts" xlink:type="locator"/>
    <link:label xlink:label="occ_LineOfCreditFacilityPercentOfEligibleAccounts-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">occ_LineOfCreditFacilityPercentOfEligibleAccounts</link:label>
    <link:label xlink:label="occ_LineOfCreditFacilityPercentOfEligibleAccounts-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Line of Credit Facility, Percent of Eligible Accounts</link:label>
    <link:label xlink:label="occ_LineOfCreditFacilityPercentOfEligibleAccounts-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Percent of aggregate outstanding amount of eligible accounts available for advance.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_LineOfCreditFacilityPercentOfEligibleAccounts" xlink:to="occ_LineOfCreditFacilityPercentOfEligibleAccounts-label" xlink:type="arc"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_LineOfCreditFacilityPercentOfEligibleInventory" xlink:label="occ_LineOfCreditFacilityPercentOfEligibleInventory" xlink:type="locator"/>
    <link:label xlink:label="occ_LineOfCreditFacilityPercentOfEligibleInventory-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">occ_LineOfCreditFacilityPercentOfEligibleInventory</link:label>
    <link:label xlink:label="occ_LineOfCreditFacilityPercentOfEligibleInventory-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Line of Credit Facility, Percent of Eligible Inventory</link:label>
    <link:label xlink:label="occ_LineOfCreditFacilityPercentOfEligibleInventory-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Percent of aggregate outstanding amount of eligible inventory available for advance.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_LineOfCreditFacilityPercentOfEligibleInventory" xlink:to="occ_LineOfCreditFacilityPercentOfEligibleInventory-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue-label" xlink:type="arc"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_LineOfCreditFacilityAdditionalCapacityForAdvances" xlink:label="occ_LineOfCreditFacilityAdditionalCapacityForAdvances" xlink:type="locator"/>
    <link:label xlink:label="occ_LineOfCreditFacilityAdditionalCapacityForAdvances-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">occ_LineOfCreditFacilityAdditionalCapacityForAdvances</link:label>
    <link:label xlink:label="occ_LineOfCreditFacilityAdditionalCapacityForAdvances-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Line of Credit Facility, Additional Capacity for Advances</link:label>
    <link:label xlink:label="occ_LineOfCreditFacilityAdditionalCapacityForAdvances-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Additional facility for advances.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_LineOfCreditFacilityAdditionalCapacityForAdvances" xlink:to="occ_LineOfCreditFacilityAdditionalCapacityForAdvances-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Other noncurrent liabilities</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AllocatedShareBasedCompensationExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_AllocatedShareBasedCompensationExpense</link:label>
    <link:label xlink:label="us-gaap_AllocatedShareBasedCompensationExpense-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-Based Payment Arrangement, Expense</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllocatedShareBasedCompensationExpense" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RepaymentsOfLongTermDebt-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_RepaymentsOfLongTermDebt</link:label>
    <link:label xlink:label="us-gaap_RepaymentsOfLongTermDebt-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Principal payments on long-term debt</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfLongTermDebt" xlink:to="us-gaap_RepaymentsOfLongTermDebt-label" xlink:type="arc"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_LineOfCreditFacilityRestrictedCapacityForAdvances" xlink:label="occ_LineOfCreditFacilityRestrictedCapacityForAdvances" xlink:type="locator"/>
    <link:label xlink:label="occ_LineOfCreditFacilityRestrictedCapacityForAdvances-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">occ_LineOfCreditFacilityRestrictedCapacityForAdvances</link:label>
    <link:label xlink:label="occ_LineOfCreditFacilityRestrictedCapacityForAdvances-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Line of Credit Facility, Restricted Capacity for Advances</link:label>
    <link:label xlink:label="occ_LineOfCreditFacilityRestrictedCapacityForAdvances-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Additional limit to facility for advances.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_LineOfCreditFacilityRestrictedCapacityForAdvances" xlink:to="occ_LineOfCreditFacilityRestrictedCapacityForAdvances-label" xlink:type="arc"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_DebtInstrumentTermExtensions" xlink:label="occ_DebtInstrumentTermExtensions" xlink:type="locator"/>
    <link:label xlink:label="occ_DebtInstrumentTermExtensions-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">occ_DebtInstrumentTermExtensions</link:label>
    <link:label xlink:label="occ_DebtInstrumentTermExtensions-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Debt Instrument, Term Extensions</link:label>
    <link:label xlink:label="occ_DebtInstrumentTermExtensions-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Potential extension to the 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.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_DebtInstrumentTermExtensions" xlink:to="occ_DebtInstrumentTermExtensions-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue from Contract with Customer [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BalanceSheetLocationAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement of Financial Position Location, Balance [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_BalanceSheetLocationDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement of Financial Position Location, Balance [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_BalanceSheetLocationDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentQuarterlyReport" xlink:label="dei_DocumentQuarterlyReport" xlink:type="locator"/>
    <link:label xlink:label="dei_DocumentQuarterlyReport-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dei_DocumentQuarterlyReport</link:label>
    <link:label xlink:label="dei_DocumentQuarterlyReport-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Document Quarterly Report</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentQuarterlyReport" xlink:to="dei_DocumentQuarterlyReport-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityIncorporationStateCountryCode-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityIncorporationStateCountryCode" xlink:to="dei_EntityIncorporationStateCountryCode-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" xlink:type="locator"/>
    <link:label xlink:label="dei_AmendmentFlag-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Amendment Flag</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentFlag" xlink:to="dei_AmendmentFlag-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AccountingPoliciesAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounting Policies [Abstract]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport" xlink:type="locator"/>
    <link:label xlink:label="dei_DocumentTransitionReport-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dei_DocumentTransitionReport</link:label>
    <link:label xlink:label="dei_DocumentTransitionReport-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Document Transition Report</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentTransitionReport" xlink:to="dei_DocumentTransitionReport-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" xlink:type="locator"/>
    <link:label xlink:label="dei_CityAreaCode-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dei_CityAreaCode</link:label>
    <link:label xlink:label="dei_CityAreaCode-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">City Area Code</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CityAreaCode" xlink:to="dei_CityAreaCode-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskDisclosureTextBlock" xlink:label="us-gaap_ConcentrationRiskDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ConcentrationRiskDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Concentration Risk Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskDisclosureTextBlock" xlink:to="us-gaap_ConcentrationRiskDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityInteractiveDataCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dei_EntityInteractiveDataCurrent</link:label>
    <link:label xlink:label="dei_EntityInteractiveDataCurrent-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Interactive Data Current</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityInteractiveDataCurrent" xlink:to="dei_EntityInteractiveDataCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_GainLossOnSaleOfPropertyPlantEquipment</link:label>
    <link:label xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Loss on disposal of property and equipment</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SharesOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_SharesOutstanding</link:label>
    <link:label xlink:label="us-gaap_SharesOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Balances (in shares)</link:label>
    <link:label xlink:label="us-gaap_SharesOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Balances (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesOutstanding" xlink:to="us-gaap_SharesOutstanding-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" xlink:type="locator"/>
    <link:label xlink:label="dei_SecurityExchangeName-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Security Exchange Name</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityExchangeName" xlink:to="dei_SecurityExchangeName-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CommonStockSharesOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_CommonStockSharesOutstanding</link:label>
    <link:label xlink:label="us-gaap_CommonStockSharesOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Common Stock, Shares, Outstanding (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="us-gaap_PreferredStockSharesOutstanding" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PreferredStockSharesOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_PreferredStockSharesOutstanding</link:label>
    <link:label xlink:label="us-gaap_PreferredStockSharesOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Preferred Stock, Shares Outstanding (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesOutstanding" xlink:to="us-gaap_PreferredStockSharesOutstanding-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" xlink:type="locator"/>
    <link:label xlink:label="dei_Security12bTitle-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Title of 12(b) Security</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12bTitle" xlink:to="dei_Security12bTitle-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInOtherOperatingAssets</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Other assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" xlink:type="locator"/>
    <link:label xlink:label="dei_CurrentFiscalYearEndDate-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Current Fiscal Year End Date</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CurrentFiscalYearEndDate" xlink:to="dei_CurrentFiscalYearEndDate-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase (decrease) in:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DebtInstrumentBasisSpreadOnVariableRate1</link:label>
    <link:label xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Debt Instrument, Basis Spread on Variable Rate</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Prepaid expenses and other assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DebtInstrumentInterestRateEffectivePercentage</link:label>
    <link:label xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Debt Instrument, Interest Rate, Effective Percentage</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:to="us-gaap_DebtInstrumentInterestRateEffectivePercentage-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent</link:label>
    <link:label xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Operating Lease, Weighted Average Discount Rate, Percent</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" xlink:type="locator"/>
    <link:label xlink:label="dei_DocumentFiscalPeriodFocus-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Fiscal Period Focus</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalPeriodFocus" xlink:to="dei_DocumentFiscalPeriodFocus-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" xlink:type="locator"/>
    <link:label xlink:label="dei_DocumentFiscalYearFocus-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Fiscal Year Focus</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalYearFocus" xlink:to="dei_DocumentFiscalYearFocus-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" xlink:type="locator"/>
    <link:label xlink:label="dei_DocumentPeriodEndDate-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dei_DocumentPeriodEndDate</link:label>
    <link:label xlink:label="dei_DocumentPeriodEndDate-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Document Period End Date</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability</link:label>
    <link:label xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Right-of-Use Asset Obtained in Exchange for Operating Lease Liability</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1</link:label>
    <link:label xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Operating Lease, Weighted Average Remaining Lease Term</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityFileNumber-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dei_EntityFileNumber</link:label>
    <link:label xlink:label="dei_EntityFileNumber-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity File Number</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFileNumber" xlink:to="dei_EntityFileNumber-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityEmergingGrowthCompany-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dei_EntityEmergingGrowthCompany</link:label>
    <link:label xlink:label="dei_EntityEmergingGrowthCompany-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Emerging Growth Company</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentType" xlink:label="dei_DocumentType" xlink:type="locator"/>
    <link:label xlink:label="dei_DocumentType-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dei_DocumentType</link:label>
    <link:label xlink:label="dei_DocumentType-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Document Type</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentType" xlink:to="dei_DocumentType-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness" xlink:type="locator"/>
    <link:label xlink:label="dei_EntitySmallBusiness-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dei_EntitySmallBusiness</link:label>
    <link:label xlink:label="dei_EntitySmallBusiness-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Small Business</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntitySmallBusiness" xlink:to="dei_EntitySmallBusiness-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityShellCompany-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dei_EntityShellCompany</link:label>
    <link:label xlink:label="dei_EntityShellCompany-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Shell Company</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityShellCompany" xlink:to="dei_EntityShellCompany-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems" xlink:type="locator"/>
    <link:label xlink:label="dei_DocumentInformationLineItems-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Information [Line Items]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentInformationLineItems-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable" xlink:type="locator"/>
    <link:label xlink:label="dei_DocumentInformationTable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Information [Table]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentInformationTable" xlink:to="dei_DocumentInformationTable-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AreaOfRealEstateProperty" xlink:label="us-gaap_AreaOfRealEstateProperty" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AreaOfRealEstateProperty-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_AreaOfRealEstateProperty</link:label>
    <link:label xlink:label="us-gaap_AreaOfRealEstateProperty-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Area of Real Estate Property</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AreaOfRealEstateProperty" xlink:to="us-gaap_AreaOfRealEstateProperty-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityFilerCategory-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dei_EntityFilerCategory</link:label>
    <link:label xlink:label="dei_EntityFilerCategory-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Filer Category</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFilerCategory" xlink:to="dei_EntityFilerCategory-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityCurrentReportingStatus-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dei_EntityCurrentReportingStatus</link:label>
    <link:label xlink:label="dei_EntityCurrentReportingStatus-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Current Reporting Status</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCurrentReportingStatus" xlink:to="dei_EntityCurrentReportingStatus-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherReceivables" xlink:label="us-gaap_IncreaseDecreaseInOtherReceivables" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInOtherReceivables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInOtherReceivables</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInOtherReceivables-label" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Other receivables</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherReceivables" xlink:to="us-gaap_IncreaseDecreaseInOtherReceivables-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RepaymentsOfNotesPayable" xlink:label="us-gaap_RepaymentsOfNotesPayable" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RepaymentsOfNotesPayable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_RepaymentsOfNotesPayable</link:label>
    <link:label xlink:label="us-gaap_RepaymentsOfNotesPayable-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Payments on note payable, revolver</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfNotesPayable" xlink:to="us-gaap_RepaymentsOfNotesPayable-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount</link:label>
    <link:label xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromNotesPayable" xlink:label="us-gaap_ProceedsFromNotesPayable" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProceedsFromNotesPayable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Proceeds from note payable, revolver</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromNotesPayable" xlink:to="us-gaap_ProceedsFromNotesPayable-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInAccountsReceivable</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Trade accounts receivable</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ConcentrationRiskPercentage1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ConcentrationRiskPercentage1</link:label>
    <link:label xlink:label="us-gaap_ConcentrationRiskPercentage1-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Concentration Risk, Percentage</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskPercentage1" xlink:to="us-gaap_ConcentrationRiskPercentage1-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityTaxIdentificationNumber-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Tax Identification Number</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityTaxIdentificationNumber" xlink:to="dei_EntityTaxIdentificationNumber-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonUsMember" xlink:label="us-gaap_NonUsMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NonUsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Non-US [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonUsMember" xlink:to="us-gaap_NonUsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityCentralIndexKey-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityRegistrantName-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dei_EntityRegistrantName</link:label>
    <link:label xlink:label="dei_EntityRegistrantName-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityRegistrantName" xlink:to="dei_EntityRegistrantName-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityDomain" xlink:to="dei_EntityDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_CustomerConcentrationRiskMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Customer Concentration Risk [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerConcentrationRiskMember" xlink:to="us-gaap_CustomerConcentrationRiskMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:label xlink:label="dei_LegalEntityAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Legal Entity [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LegalEntityAxis" xlink:to="dei_LegalEntityAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementTable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement [Table]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementTable-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityAddressAddressLine1-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dei_EntityAddressAddressLine1</link:label>
    <link:label xlink:label="dei_EntityAddressAddressLine1-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Address, Address Line One</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine1" xlink:to="dei_EntityAddressAddressLine1-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementOfFinancialPositionAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement of Financial Position [Abstract]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementOfFinancialPositionAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Shares (denominator) (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_AmortizationOfIntangibleAssets-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Amortization of intangible assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfIntangibleAssets" xlink:to="us-gaap_AmortizationOfIntangibleAssets-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonRule10b51ArrTrmntdFlag" xlink:label="ecd_NonRule10b51ArrTrmntdFlag" xlink:type="locator"/>
    <link:label xlink:label="ecd_NonRule10b51ArrTrmntdFlag-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">ecd_NonRule10b51ArrTrmntdFlag</link:label>
    <link:label xlink:label="ecd_NonRule10b51ArrTrmntdFlag-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Non-Rule 10b5-1 Arrangement Terminated [Flag]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_NonRule10b51ArrTrmntdFlag" xlink:to="ecd_NonRule10b51ArrTrmntdFlag-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityAddressCityOrTown-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dei_EntityAddressCityOrTown</link:label>
    <link:label xlink:label="dei_EntityAddressCityOrTown-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Address, City or Town</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_Rule10b51ArrTrmntdFlag" xlink:label="ecd_Rule10b51ArrTrmntdFlag" xlink:type="locator"/>
    <link:label xlink:label="ecd_Rule10b51ArrTrmntdFlag-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">ecd_Rule10b51ArrTrmntdFlag</link:label>
    <link:label xlink:label="ecd_Rule10b51ArrTrmntdFlag-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Rule 10b5-1 Arrangement Terminated [Flag]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_Rule10b51ArrTrmntdFlag" xlink:to="ecd_Rule10b51ArrTrmntdFlag-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_Rule10b51ArrAdoptedFlag" xlink:label="ecd_Rule10b51ArrAdoptedFlag" xlink:type="locator"/>
    <link:label xlink:label="ecd_Rule10b51ArrAdoptedFlag-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">ecd_Rule10b51ArrAdoptedFlag</link:label>
    <link:label xlink:label="ecd_Rule10b51ArrAdoptedFlag-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Rule 10b5-1 Arrangement Adopted [Flag]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_Rule10b51ArrAdoptedFlag" xlink:to="ecd_Rule10b51ArrAdoptedFlag-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityAddressPostalZipCode-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dei_EntityAddressPostalZipCode</link:label>
    <link:label xlink:label="dei_EntityAddressPostalZipCode-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_EarningsPerShareBasic-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net income (loss) per share: Basic and diluted (in dollars per share)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityAddressStateOrProvince-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dei_EntityAddressStateOrProvince</link:label>
    <link:label xlink:label="dei_EntityAddressStateOrProvince-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Address, State or Province</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressStateOrProvince" xlink:to="dei_EntityAddressStateOrProvince-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ConcentrationRiskByTypeAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Concentration Risk Type [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskByTypeAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonRule10b51ArrAdoptedFlag" xlink:label="ecd_NonRule10b51ArrAdoptedFlag" xlink:type="locator"/>
    <link:label xlink:label="ecd_NonRule10b51ArrAdoptedFlag-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">ecd_NonRule10b51ArrAdoptedFlag</link:label>
    <link:label xlink:label="ecd_NonRule10b51ArrAdoptedFlag-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Non-Rule 10b5-1 Arrangement Adopted [Flag]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_NonRule10b51ArrAdoptedFlag" xlink:to="ecd_NonRule10b51ArrAdoptedFlag-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ConcentrationRiskTypeDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Concentration Risk Type [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_ConcentrationRiskTypeDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_MtrlTermsOfTrdArrTextBlock" xlink:label="ecd_MtrlTermsOfTrdArrTextBlock" xlink:type="locator"/>
    <link:label xlink:label="ecd_MtrlTermsOfTrdArrTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Material Terms of Trading Arrangement [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_MtrlTermsOfTrdArrTextBlock" xlink:to="ecd_MtrlTermsOfTrdArrTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementOfCashFlowsAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement of Cash Flows [Abstract]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementOfCashFlowsAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_VirginiaRealEstateLoanMember" xlink:label="occ_VirginiaRealEstateLoanMember" xlink:type="locator"/>
    <link:label xlink:label="occ_VirginiaRealEstateLoanMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Virginia Real Estate Loan [Member]</link:label>
    <link:label xlink:label="occ_VirginiaRealEstateLoanMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">The name of a real estate loan.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_VirginiaRealEstateLoanMember" xlink:to="occ_VirginiaRealEstateLoanMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" xlink:type="locator"/>
    <link:label xlink:label="dei_EntityCommonStockSharesOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dei_EntityCommonStockSharesOutstanding</link:label>
    <link:label xlink:label="dei_EntityCommonStockSharesOutstanding-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Common Stock, Shares Outstanding (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCommonStockSharesOutstanding" xlink:to="dei_EntityCommonStockSharesOutstanding-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeFinanceLeaseRemainingLeaseTerm" xlink:label="us-gaap_LesseeFinanceLeaseRemainingLeaseTerm" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeFinanceLeaseRemainingLeaseTerm-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LesseeFinanceLeaseRemainingLeaseTerm</link:label>
    <link:label xlink:label="us-gaap_LesseeFinanceLeaseRemainingLeaseTerm-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Lessee, Finance Lease, Remaining Lease Term</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeFinanceLeaseRemainingLeaseTerm" xlink:to="us-gaap_LesseeFinanceLeaseRemainingLeaseTerm-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerRefundLiability" xlink:label="us-gaap_ContractWithCustomerRefundLiability" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ContractWithCustomerRefundLiability-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ContractWithCustomerRefundLiability</link:label>
    <link:label xlink:label="us-gaap_ContractWithCustomerRefundLiability-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Contract with Customer, Refund Liability</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerRefundLiability" xlink:to="us-gaap_ContractWithCustomerRefundLiability-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementOfStockholdersEquityAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement of Stockholders' Equity [Abstract]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementOfStockholdersEquityAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseContractualTermDomain" xlink:label="us-gaap_LeaseContractualTermDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LeaseContractualTermDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lease Contractual Term [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseContractualTermDomain" xlink:to="us-gaap_LeaseContractualTermDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseContractualTermAxis" xlink:label="us-gaap_LeaseContractualTermAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LeaseContractualTermAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lease Contractual Term [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseContractualTermAxis" xlink:to="us-gaap_LeaseContractualTermAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncomeStatementAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Statement [Abstract]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IncomeStatementAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SalesRevenueNetMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue Benchmark [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalesRevenueNetMember" xlink:to="us-gaap_SalesRevenueNetMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock" xlink:label="us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue from External Customers by Geographic Areas [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock" xlink:to="us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtTextBlock" xlink:label="us-gaap_LongTermDebtTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LongTermDebtTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Long-Term Debt [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtTextBlock" xlink:to="us-gaap_LongTermDebtTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInInventories-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInInventories</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInInventories-label" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Inventories</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" xlink:type="locator"/>
    <link:label xlink:label="dei_TradingSymbol-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Trading Symbol</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_TradingSymbol" xlink:to="dei_TradingSymbol-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseInterestExpense" xlink:label="us-gaap_FinanceLeaseInterestExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseInterestExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FinanceLeaseInterestExpense</link:label>
    <link:label xlink:label="us-gaap_FinanceLeaseInterestExpense-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Finance Lease, Interest Expense</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseInterestExpense" xlink:to="us-gaap_FinanceLeaseInterestExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Concentration Risk Benchmark [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Concentration Risk Benchmark [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:to="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_AllowanceForDoubtfulAccountsForTradeAccountsReceivableDisclosureTextBlock" xlink:label="occ_AllowanceForDoubtfulAccountsForTradeAccountsReceivableDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="occ_AllowanceForDoubtfulAccountsForTradeAccountsReceivableDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Allowance for Doubtful Accounts for Trade Accounts Receivable Disclosure [Text Block]</link:label>
    <link:label xlink:label="occ_AllowanceForDoubtfulAccountsForTradeAccountsReceivableDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Allowance for doubtful accounts for trade accounts receivable</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_AllowanceForDoubtfulAccountsForTradeAccountsReceivableDisclosureTextBlock" xlink:to="occ_AllowanceForDoubtfulAccountsForTradeAccountsReceivableDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FinanceLeaseLiabilityPaymentsDue</link:label>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total undiscounted lease payments, Financing Lease</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDue-label" xlink:type="arc"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_SummaryOfChangesInAllowanceForDoubtfulAccountsForTradeAccountsReceivableTableTextBlock" xlink:label="occ_SummaryOfChangesInAllowanceForDoubtfulAccountsForTradeAccountsReceivableTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="occ_SummaryOfChangesInAllowanceForDoubtfulAccountsForTradeAccountsReceivableTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Summary of Changes in the Allowance for Doubtful Accounts for Trade Accounts Receivable [Table Text Block]</link:label>
    <link:label xlink:label="occ_SummaryOfChangesInAllowanceForDoubtfulAccountsForTradeAccountsReceivableTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Summary Of Changes In The Allowance For Doubtful Accounts For Trade Accounts Receivable [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_SummaryOfChangesInAllowanceForDoubtfulAccountsForTradeAccountsReceivableTableTextBlock" xlink:to="occ_SummaryOfChangesInAllowanceForDoubtfulAccountsForTradeAccountsReceivableTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FinanceLeaseRightOfUseAssetAmortization</link:label>
    <link:label xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Finance Lease, Right-of-Use Asset, Amortization</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:to="us-gaap_FinanceLeaseRightOfUseAssetAmortization-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" xlink:type="locator"/>
    <link:label xlink:label="dei_LocalPhoneNumber-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">dei_LocalPhoneNumber</link:label>
    <link:label xlink:label="dei_LocalPhoneNumber-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Local Phone Number</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LocalPhoneNumber" xlink:to="dei_LocalPhoneNumber-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount</link:label>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Present value discount, Financing Lease</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity</link:label>
    <link:label xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Line of Credit Facility, Remaining Borrowing Capacity</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">2025, Financing Lease</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_TableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_TableTextBlock</link:label>
    <link:label xlink:label="us-gaap_TableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Notes Tables</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_TableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">2026, Financing Lease</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity</link:label>
    <link:label xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Line of Credit Facility, Maximum Borrowing Capacity</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity-label" xlink:type="arc"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_OperatingLeaseForOfficeManufacturingAndWarehouseSpaceInPlanoTexasMember" xlink:label="occ_OperatingLeaseForOfficeManufacturingAndWarehouseSpaceInPlanoTexasMember" xlink:type="locator"/>
    <link:label xlink:label="occ_OperatingLeaseForOfficeManufacturingAndWarehouseSpaceInPlanoTexasMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating Lease for Office, Manufacturing and Warehouse Space in Plano, Texas [Member]</link:label>
    <link:label xlink:label="occ_OperatingLeaseForOfficeManufacturingAndWarehouseSpaceInPlanoTexasMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the operating lease arrangement related to the office, manufacturing and warehouse space in Plano, Texas.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_OperatingLeaseForOfficeManufacturingAndWarehouseSpaceInPlanoTexasMember" xlink:to="occ_OperatingLeaseForOfficeManufacturingAndWarehouseSpaceInPlanoTexasMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounting Standards Update and Change in Accounting Principle [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:to="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_Plan2017Member" xlink:label="occ_Plan2017Member" xlink:type="locator"/>
    <link:label xlink:label="occ_Plan2017Member-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Plan 2017 [Member]</link:label>
    <link:label xlink:label="occ_Plan2017Member-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents 2017 stock incentive plan.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_Plan2017Member" xlink:to="occ_Plan2017Member-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation</link:label>
    <link:label xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Share-based compensation, net (in shares)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:to="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">2024, Financing Lease</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Selling, general and administrative expenses</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingGeneralAndAdministrativeExpense" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProvisionForDoubtfulAccounts-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Bad debt expense (recovery)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProvisionForDoubtfulAccounts" xlink:to="us-gaap_ProvisionForDoubtfulAccounts-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Share-based compensation, net</link:label>
    <link:label xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:to="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash flows from financing activities:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductWarrantyExpense" xlink:label="us-gaap_ProductWarrantyExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ProductWarrantyExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_ProductWarrantyExpense</link:label>
    <link:label xlink:label="us-gaap_ProductWarrantyExpense-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Product Warranty Expense</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyExpense" xlink:to="us-gaap_ProductWarrantyExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherLiabilitiesNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other noncurrent liabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherLiabilitiesNoncurrent" xlink:to="us-gaap_OtherLiabilitiesNoncurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LineOfCreditFacilityLenderDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Line of Credit Facility, Lender [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityLenderDomain" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember" xlink:label="occ_OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember" xlink:type="locator"/>
    <link:label xlink:label="occ_OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating Lease for Warehouse Space in Roanoke, Virginia [Member]</link:label>
    <link:label xlink:label="occ_OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents the operating lease agreement for warehouse space in Roanoke, Virginia.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember" xlink:to="occ_OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Raw materials</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:to="us-gaap_InventoryRawMaterialsNetOfReserves-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventorySuppliesNetOfReserves" xlink:label="us-gaap_InventorySuppliesNetOfReserves" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InventorySuppliesNetOfReserves-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Production supplies</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventorySuppliesNetOfReserves" xlink:to="us-gaap_InventorySuppliesNetOfReserves-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LineOfCreditFacilityAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lender Name [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LiabilitiesAndStockholdersEquity-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LiabilitiesAndStockholdersEquity</link:label>
    <link:label xlink:label="us-gaap_LiabilitiesAndStockholdersEquity-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total liabilities and shareholders&#8217; equity</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finished goods</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:to="us-gaap_InventoryFinishedGoodsNetOfReserves-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Work in process</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_US" xlink:label="country_US" xlink:type="locator"/>
    <link:label xlink:label="country_US-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">UNITED STATES</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_US" xlink:to="country_US-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">(Increase) decrease in:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Retained earnings</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit-label" xlink:type="arc"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_EmployeesConsultantAndNonemployeeDirectorsMember" xlink:label="occ_EmployeesConsultantAndNonemployeeDirectorsMember" xlink:type="locator"/>
    <link:label xlink:label="occ_EmployeesConsultantAndNonemployeeDirectorsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Employees, Consultant and Non-employee Directors [Member]</link:label>
    <link:label xlink:label="occ_EmployeesConsultantAndNonemployeeDirectorsMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information related to employees, consultant and non-employee directors.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_EmployeesConsultantAndNonemployeeDirectorsMember" xlink:to="occ_EmployeesConsultantAndNonemployeeDirectorsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InterestExpense-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_InterestExpense</link:label>
    <link:label xlink:label="us-gaap_InterestExpense-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Interest expense, net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestExpense" xlink:to="us-gaap_InterestExpense-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StockholdersEquity-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_StockholdersEquity</link:label>
    <link:label xlink:label="us-gaap_StockholdersEquity-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total shareholders&#8217; equity</link:label>
    <link:label xlink:label="us-gaap_StockholdersEquity-label" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Balances</link:label>
    <link:label xlink:label="us-gaap_StockholdersEquity-label" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Balances</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity-label" xlink:type="arc"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_OneCustomerMember" xlink:label="occ_OneCustomerMember" xlink:type="locator"/>
    <link:label xlink:label="occ_OneCustomerMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">One Customer [Member]</link:label>
    <link:label xlink:label="occ_OneCustomerMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents one customer.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_OneCustomerMember" xlink:to="occ_OneCustomerMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DisclosureTextBlockAbstract-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DisclosureTextBlockAbstract</link:label>
    <link:label xlink:label="us-gaap_DisclosureTextBlockAbstract-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Notes to Financial Statements</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_DisclosureTextBlockAbstract-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SubsequentEventMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Subsequent Event [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventMember" xlink:to="us-gaap_SubsequentEventMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="us-gaap_InventoryDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_InventoryDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Inventory Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryDisclosureTextBlock" xlink:to="us-gaap_InventoryDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_OperatingLeaseLiabilityNoncurrent</link:label>
    <link:label xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Operating Lease, Liability, Noncurrent</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList</link:label>
    <link:label xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Operating Lease, Liability, Noncurrent, Statement of Financial Position [Extensible Enumeration]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Inventory, Current [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StatementClassOfStockAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Class of Stock [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_StatementClassOfStockAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeaseLiability-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_OperatingLeaseLiability</link:label>
    <link:label xlink:label="us-gaap_OperatingLeaseLiability-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Total lease liability, Operating Lease</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability-label" xlink:type="arc"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_LesseeLeaseLiabilityMaturityTableTextBlock" xlink:label="occ_LesseeLeaseLiabilityMaturityTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="occ_LesseeLeaseLiabilityMaturityTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lessee, Lease Liability, Maturity [Table Text Block]</link:label>
    <link:label xlink:label="occ_LesseeLeaseLiabilityMaturityTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Tabular disclosure of future payments for operating and finance lease obligations.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_LesseeLeaseLiabilityMaturityTableTextBlock" xlink:to="occ_LesseeLeaseLiabilityMaturityTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermLoansPayable" xlink:label="us-gaap_LongTermLoansPayable" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LongTermLoansPayable-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Long-term debt, excluding current installments</link:label>
    <link:label xlink:label="us-gaap_LongTermLoansPayable-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Loans Payable, Noncurrent</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermLoansPayable" xlink:to="us-gaap_LongTermLoansPayable-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SubsequentEventTypeAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Subsequent Event Type [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeaseLiabilityCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_OperatingLeaseLiabilityCurrent</link:label>
    <link:label xlink:label="us-gaap_OperatingLeaseLiabilityCurrent-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Operating Lease, Liability, Current</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_SubsequentEventTypeDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Subsequent Event Type [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTypeDomain" xlink:to="us-gaap_SubsequentEventTypeDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList</link:label>
    <link:label xlink:label="us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Operating Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:to="us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FinanceLeaseLiabilityCurrent</link:label>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityCurrent-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Finance Lease, Liability, Current</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityCurrent" xlink:to="us-gaap_FinanceLeaseLiabilityCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList</link:label>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Finance Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:to="us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FinanceLeaseLiabilityNoncurrent</link:label>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Finance Lease, Liability, Noncurrent</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList</link:label>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Finance Lease, Liability, Noncurrent, Statement of Financial Position [Extensible Enumeration]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeaseRightOfUseAsset-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_OperatingLeaseRightOfUseAsset</link:label>
    <link:label xlink:label="us-gaap_OperatingLeaseRightOfUseAsset-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Operating Lease, Right-of-Use Asset</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList</link:label>
    <link:label xlink:label="us-gaap_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Operating Lease, Right-of-Use Asset, Statement of Financial Position [Extensible Enumeration]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" xlink:to="us-gaap_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue</link:label>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total undiscounted lease payments, Operating Lease</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeasePrincipalPayments" xlink:label="us-gaap_FinanceLeasePrincipalPayments" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeasePrincipalPayments-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FinanceLeasePrincipalPayments</link:label>
    <link:label xlink:label="us-gaap_FinanceLeasePrincipalPayments-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Principal payments on finance lease</link:label>
    <link:label xlink:label="us-gaap_FinanceLeasePrincipalPayments-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Finance Lease, Principal Payments</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeasePrincipalPayments" xlink:to="us-gaap_FinanceLeasePrincipalPayments-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount</link:label>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount-label" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Present value discount, Operating Lease</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseLiability-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FinanceLeaseLiability</link:label>
    <link:label xlink:label="us-gaap_FinanceLeaseLiability-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Total lease liability, Financing Lease</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiability" xlink:to="us-gaap_FinanceLeaseLiability-label" xlink:type="arc"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_ConcentrationRiskNumberOfCustomers" xlink:label="occ_ConcentrationRiskNumberOfCustomers" xlink:type="locator"/>
    <link:label xlink:label="occ_ConcentrationRiskNumberOfCustomers-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">occ_ConcentrationRiskNumberOfCustomers</link:label>
    <link:label xlink:label="occ_ConcentrationRiskNumberOfCustomers-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Concentration Risk, Number of Customers</link:label>
    <link:label xlink:label="occ_ConcentrationRiskNumberOfCustomers-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Number of customers for a concentration risk benchmark.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_ConcentrationRiskNumberOfCustomers" xlink:to="occ_ConcentrationRiskNumberOfCustomers-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseRightOfUseAsset" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseRightOfUseAsset-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FinanceLeaseRightOfUseAsset</link:label>
    <link:label xlink:label="us-gaap_FinanceLeaseRightOfUseAsset-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Finance Lease, Right-of-Use Asset, after Accumulated Amortization</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseRightOfUseAsset" xlink:to="us-gaap_FinanceLeaseRightOfUseAsset-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList</link:label>
    <link:label xlink:label="us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Finance Lease, Right-of-Use Asset, Statement of Financial Position [Extensible Enumeration]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" xlink:to="us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList-label" xlink:type="arc"/>
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>9
<FILENAME>occ-20240430_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome XBRL - 05:37PM UTC 2024-06-06--><link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xlink="http://www.w3.org/1999/xlink" 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">
  <link:roleRef roleURI="http://http/20240430/role/statement-note-13-new-accounting-standards-not-yet-adopted" xlink:href="occ-20240430.xsd#statement-note-13-new-accounting-standards-not-yet-adopted" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20240430/role/statement-note-13-new-accounting-standards-not-yet-adopted" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_NotesToFinancialStatementsAbstract" xlink:label="occ_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="occ_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-12-contingencies" xlink:href="occ-20240430.xsd#statement-note-12-contingencies" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20240430/role/statement-note-12-contingencies" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_NotesToFinancialStatementsAbstract" xlink:label="occ_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="occ_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-8-fair-value-measurements" xlink:href="occ-20240430.xsd#statement-note-8-fair-value-measurements" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20240430/role/statement-note-8-fair-value-measurements" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_NotesToFinancialStatementsAbstract" xlink:label="occ_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="us-gaap_FairValueDisclosuresTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="occ_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_FairValueDisclosuresTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-1-general" xlink:href="occ-20240430.xsd#statement-note-1-general" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20240430/role/statement-note-1-general" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_NotesToFinancialStatementsAbstract" xlink:label="occ_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="occ_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-document-and-entity-information" xlink:href="occ-20240430.xsd#statement-document-and-entity-information" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20240430/role/statement-document-and-entity-information" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentQuarterlyReport" xlink:label="dei_DocumentQuarterlyReport-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentType" xlink:label="dei_DocumentType-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationTable" xlink:to="dei_DocumentInformationLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentType-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentQuarterlyReport-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentPeriodEndDate-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentTransitionReport-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityFileNumber-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityRegistrantName-2" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityIncorporationStateCountryCode" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityTaxIdentificationNumber" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressAddressLine1-2" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressCityOrTown-2" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressStateOrProvince-2" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressPostalZipCode-2" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_CityAreaCode-2" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_LocalPhoneNumber-2" xlink:type="arc"/>
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_Security12bTitle" xlink:type="arc"/>
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_TradingSymbol" xlink:type="arc"/>
    <link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_SecurityExchangeName" xlink:type="arc"/>
    <link:presentationArc order="17" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCurrentReportingStatus-2" xlink:type="arc"/>
    <link:presentationArc order="18" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityInteractiveDataCurrent-2" xlink:type="arc"/>
    <link:presentationArc order="19" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityFilerCategory-2" xlink:type="arc"/>
    <link:presentationArc order="20" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntitySmallBusiness-2" xlink:type="arc"/>
    <link:presentationArc order="21" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityEmergingGrowthCompany-2" xlink:type="arc"/>
    <link:presentationArc order="22" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityShellCompany-2" xlink:type="arc"/>
    <link:presentationArc order="23" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCommonStockSharesOutstanding-2" xlink:type="arc"/>
    <link:presentationArc order="24" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCentralIndexKey" xlink:type="arc"/>
    <link:presentationArc order="25" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_CurrentFiscalYearEndDate" xlink:type="arc"/>
    <link:presentationArc order="26" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentFiscalYearFocus" xlink:type="arc"/>
    <link:presentationArc order="27" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentFiscalPeriodFocus" xlink:type="arc"/>
    <link:presentationArc order="28" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_AmendmentFlag" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited" xlink:href="occ-20240430.xsd#statement-condensed-consolidated-balance-sheets-unaudited" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxesReceivable" xlink:label="us-gaap_IncomeTaxesReceivable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LoansPayableCurrent" xlink:label="us-gaap_LoansPayableCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermLineOfCredit" xlink:label="us-gaap_LongTermLineOfCredit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermLoansPayable" xlink:label="us-gaap_LongTermLoansPayable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherReceivables" xlink:label="us-gaap_OtherReceivables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxesPayableCurrent" xlink:label="us-gaap_TaxesPayableCurrent" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AssetsAbstract" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AssetsCurrentAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AccountsReceivableNetCurrent" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_IncomeTaxesReceivable" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_OtherReceivables" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_InventoryNet" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrent-3" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_OtherAssetsNoncurrent" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_Assets-3" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LiabilitiesCurrentAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LoansPayableCurrent" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_TaxesPayableCurrent" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrent-3" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LongTermLineOfCredit" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LongTermLoansPayable" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_OtherLiabilitiesNoncurrent" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_Liabilities-3" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquityAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_PreferredStockValue" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_CommonStockValue" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquity-3" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_CommitmentsAndContingencies" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited-parentheticals" xlink:href="occ-20240430.xsd#statement-condensed-consolidated-balance-sheets-unaudited-parentheticals" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited-parentheticals" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockNoParValue" xlink:label="us-gaap_CommonStockNoParValue-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockNoParValue" xlink:label="us-gaap_PreferredStockNoParValue-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="us-gaap_PreferredStockSharesAuthorized-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="us-gaap_PreferredStockSharesIssued-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="us-gaap_PreferredStockSharesOutstanding-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockNoParValue-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockSharesAuthorized-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockSharesIssued-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_PreferredStockSharesOutstanding-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockNoParValue-2" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesAuthorized-2" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesIssued-2" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CommonStockSharesOutstanding-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-condensed-consolidated-statements-of-operations-unaudited" xlink:href="occ-20240430.xsd#statement-condensed-consolidated-statements-of-operations-unaudited" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20240430/role/statement-condensed-consolidated-statements-of-operations-unaudited" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_RoyaltyRevenueExpense" xlink:label="occ_RoyaltyRevenueExpense-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherIncomeAndExpensesAbstract" xlink:label="us-gaap_OtherIncomeAndExpensesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnusualOrInfrequentItemInsuranceProceeds" xlink:label="us-gaap_UnusualOrInfrequentItemInsuranceProceeds" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_CostOfGoodsAndServicesSold" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_GrossProfit-3" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="occ_RoyaltyRevenueExpense-n8" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AmortizationOfIntangibleAssets" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingIncomeLoss-3" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherIncomeAndExpensesAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="us-gaap_InterestExpense-n8" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="us-gaap_UnusualOrInfrequentItemInsuranceProceeds" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="us-gaap_OtherNonoperatingIncomeExpense" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="us-gaap_NonoperatingIncomeExpense-3" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest-3" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="us-gaap_IncomeTaxExpenseBenefit" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="us-gaap_NetIncomeLoss-3" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="us-gaap_EarningsPerShareBasic" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-condensed-consolidated-statements-of-shareholders-equity-unaudited" xlink:href="occ-20240430.xsd#statement-condensed-consolidated-statements-of-shareholders-equity-unaudited" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20240430/role/statement-condensed-consolidated-statements-of-shareholders-equity-unaudited" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding-5" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity-5" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_CommonStockMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_RetainedEarningsMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesOutstanding-4" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquity-4" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation-n8" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation-1" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesOutstanding-5" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquity-5" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" xlink:href="occ-20240430.xsd#statement-condensed-consolidated-statements-of-cash-flows-unaudited" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_NorthMillCapitalLlcMember" xlink:label="occ_NorthMillCapitalLlcMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations-5" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeasePrincipalPayments" xlink:label="us-gaap_FinanceLeasePrincipalPayments-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories-n9" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities-1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherReceivables" xlink:label="us-gaap_IncreaseDecreaseInOtherReceivables-n9" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsOfFinancingCosts" xlink:label="us-gaap_PaymentsOfFinancingCosts-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireIntangibleAssets" xlink:label="us-gaap_PaymentsToAcquireIntangibleAssets-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromInsuranceSettlementInvestingActivities" xlink:label="us-gaap_ProceedsFromInsuranceSettlementInvestingActivities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromNotesPayable" xlink:label="us-gaap_ProceedsFromNotesPayable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RepaymentsOfNotesPayable" xlink:label="us-gaap_RepaymentsOfNotesPayable-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnusualOrInfrequentItemInsuranceProceeds" xlink:label="us-gaap_UnusualOrInfrequentItemInsuranceProceeds-n8" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LineOfCreditFacilityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="occ_NorthMillCapitalLlcMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_CreditFacilityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_RevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetIncomeLoss-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DepreciationDepletionAndAmortization" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ProvisionForDoubtfulAccounts" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ShareBasedCompensation" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_UnusualOrInfrequentItemInsuranceProceeds-n8" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment-n8" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable-n8" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherReceivables-n9" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:to="us-gaap_IncreaseDecreaseInInventories-n9" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets-n8" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets-n8" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities-1" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract" xlink:to="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities-1" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable-1" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities-1" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities-3" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment-n8" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromInsuranceSettlementInvestingActivities" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquireIntangibleAssets-n8" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities-3" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation-n8" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromNotesPayable" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_RepaymentsOfNotesPayable-n8" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_RepaymentsOfLongTermDebt-n8" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsOfFinancingCosts-n8" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_FinanceLeasePrincipalPayments-n8" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities-3" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect-3" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations-4" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations-5" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-" xlink:href="occ-20240430.xsd#statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_EmployeesConsultantAndNonemployeeDirectorsMember" xlink:label="occ_EmployeesConsultantAndNonemployeeDirectorsMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_NotesToFinancialStatementsAbstract" xlink:label="occ_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_Plan2017Member" xlink:label="occ_Plan2017Member" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockMember" xlink:label="us-gaap_RestrictedStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="occ_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PlanNameAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="occ_Plan2017Member" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_TitleOfIndividualAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualAxis" xlink:to="occ_EmployeesConsultantAndNonemployeeDirectorsMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_RestrictedStockMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_SubsequentEventTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable" xlink:href="occ-20240430.xsd#statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20240430/role/statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_AllowanceForDoubtfulAccountsForTradeAccountsReceivableDisclosureTextBlock" xlink:label="occ_AllowanceForDoubtfulAccountsForTradeAccountsReceivableDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_NotesToFinancialStatementsAbstract" xlink:label="occ_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="occ_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="occ_AllowanceForDoubtfulAccountsForTradeAccountsReceivableDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-4-inventories" xlink:href="occ-20240430.xsd#statement-note-4-inventories" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20240430/role/statement-note-4-inventories" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_NotesToFinancialStatementsAbstract" xlink:label="occ_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="us-gaap_InventoryDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="occ_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_InventoryDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-5-product-warranties" xlink:href="occ-20240430.xsd#statement-note-5-product-warranties" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20240430/role/statement-note-5-product-warranties" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_NotesToFinancialStatementsAbstract" xlink:label="occ_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductWarrantyDisclosureTextBlock" xlink:label="us-gaap_ProductWarrantyDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="occ_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BalanceSheetLocationAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_ProductWarrantyDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable" xlink:href="occ-20240430.xsd#statement-note-6-longterm-debt-and-notes-payable" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_NorthMillCapitalLlcMember" xlink:label="occ_NorthMillCapitalLlcMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_NotesToFinancialStatementsAbstract" xlink:label="occ_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_VirginiaRealEstateLoanMember" xlink:label="occ_VirginiaRealEstateLoanMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtTextBlock" xlink:label="us-gaap_LongTermDebtTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="occ_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LongtermDebtTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="occ_VirginiaRealEstateLoanMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_CreditFacilityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_RevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LineOfCreditFacilityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="occ_NorthMillCapitalLlcMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_LongTermDebtTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-7-leases-" xlink:href="occ-20240430.xsd#statement-note-7-leases-" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20240430/role/statement-note-7-leases-" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_LesseeOperatingAndFinanceLeasesDisclosureTextBlock" xlink:label="occ_LesseeOperatingAndFinanceLeasesDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_NotesToFinancialStatementsAbstract" xlink:label="occ_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_OperatingLeaseForOfficeEquipmentMember" xlink:label="occ_OperatingLeaseForOfficeEquipmentMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_OperatingLeaseForOfficeManufacturingAndWarehouseSpaceInPlanoTexasMember" xlink:label="occ_OperatingLeaseForOfficeManufacturingAndWarehouseSpaceInPlanoTexasMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember" xlink:label="occ_OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseContractualTermAxis" xlink:label="us-gaap_LeaseContractualTermAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseContractualTermDomain" xlink:label="us-gaap_LeaseContractualTermDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="occ_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseContractualTermAxis" xlink:to="us-gaap_LeaseContractualTermDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LeaseContractualTermAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseContractualTermAxis" xlink:to="occ_OperatingLeaseForOfficeManufacturingAndWarehouseSpaceInPlanoTexasMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseContractualTermAxis" xlink:to="occ_OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseContractualTermAxis" xlink:to="occ_OperatingLeaseForOfficeEquipmentMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="occ_LesseeOperatingAndFinanceLeasesDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-9-net-income-loss-per-share" xlink:href="occ-20240430.xsd#statement-note-9-net-income-loss-per-share" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20240430/role/statement-note-9-net-income-loss-per-share" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_NotesToFinancialStatementsAbstract" xlink:label="occ_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="occ_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_EarningsPerShareTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations" xlink:href="occ-20240430.xsd#statement-note-10-segment-information-and-business-and-credit-concentrations" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_NotesToFinancialStatementsAbstract" xlink:label="occ_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_OneCustomerMember" xlink:label="occ_OneCustomerMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskDisclosureTextBlock" xlink:label="us-gaap_ConcentrationRiskDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="occ_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_CustomerConcentrationRiskMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_SalesRevenueNetMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_MajorCustomersAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="occ_OneCustomerMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_ConcentrationRiskDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-11-revenue-recognition" xlink:href="occ-20240430.xsd#statement-note-11-revenue-recognition" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20240430/role/statement-note-11-revenue-recognition" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_US" xlink:label="country_US" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_NotesToFinancialStatementsAbstract" xlink:label="occ_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonUsMember" xlink:label="us-gaap_NonUsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="occ_NotesToFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_StatementGeographicalAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="country_US" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="us-gaap_NonUsMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureTextBlockAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#InsiderTradingArrangements" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_InsiderTradingArrLineItems" xlink:label="ecd_InsiderTradingArrLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_MtrlTermsOfTrdArrTextBlock" xlink:label="ecd_MtrlTermsOfTrdArrTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonRule10b51ArrAdoptedFlag" xlink:label="ecd_NonRule10b51ArrAdoptedFlag-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonRule10b51ArrTrmntdFlag" xlink:label="ecd_NonRule10b51ArrTrmntdFlag-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_Rule10b51ArrAdoptedFlag" xlink:label="ecd_Rule10b51ArrAdoptedFlag-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_Rule10b51ArrTrmntdFlag" xlink:label="ecd_Rule10b51ArrTrmntdFlag-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ecd_InsiderTradingArrLineItems" xlink:to="ecd_MtrlTermsOfTrdArrTextBlock" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ecd_InsiderTradingArrLineItems" xlink:to="ecd_Rule10b51ArrAdoptedFlag-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ecd_InsiderTradingArrLineItems" xlink:to="ecd_Rule10b51ArrTrmntdFlag-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ecd_InsiderTradingArrLineItems" xlink:to="ecd_NonRule10b51ArrAdoptedFlag-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ecd_InsiderTradingArrLineItems" xlink:to="ecd_NonRule10b51ArrTrmntdFlag-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-tables" xlink:href="occ-20240430.xsd#statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20240430/role/statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_SummaryOfChangesInAllowanceForDoubtfulAccountsForTradeAccountsReceivableTableTextBlock" xlink:label="occ_SummaryOfChangesInAllowanceForDoubtfulAccountsForTradeAccountsReceivableTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_statement-statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-tables" xlink:label="occ_statement-statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="occ_statement-statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="occ_SummaryOfChangesInAllowanceForDoubtfulAccountsForTradeAccountsReceivableTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-4-inventories-tables" xlink:href="occ-20240430.xsd#statement-note-4-inventories-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20240430/role/statement-note-4-inventories-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_statement-statement-note-4-inventories-tables" xlink:label="occ_statement-statement-note-4-inventories-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="occ_statement-statement-note-4-inventories-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-5-product-warranties-tables" xlink:href="occ-20240430.xsd#statement-note-5-product-warranties-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20240430/role/statement-note-5-product-warranties-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_statement-statement-note-5-product-warranties-tables" xlink:label="occ_statement-statement-note-5-product-warranties-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:label="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="occ_statement-statement-note-5-product-warranties-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-7-leases-tables" xlink:href="occ-20240430.xsd#statement-note-7-leases-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20240430/role/statement-note-7-leases-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_LesseeLeaseLiabilityMaturityTableTextBlock" xlink:label="occ_LesseeLeaseLiabilityMaturityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_statement-statement-note-7-leases-tables" xlink:label="occ_statement-statement-note-7-leases-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="occ_statement-statement-note-7-leases-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="occ_LesseeLeaseLiabilityMaturityTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-9-net-income-loss-per-share-tables" xlink:href="occ-20240430.xsd#statement-note-9-net-income-loss-per-share-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20240430/role/statement-note-9-net-income-loss-per-share-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_statement-statement-note-9-net-income-loss-per-share-tables" xlink:label="occ_statement-statement-note-9-net-income-loss-per-share-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="occ_statement-statement-note-9-net-income-loss-per-share-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-11-revenue-recognition-tables" xlink:href="occ-20240430.xsd#statement-note-11-revenue-recognition-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20240430/role/statement-note-11-revenue-recognition-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_statement-statement-note-11-revenue-recognition-tables" xlink:label="occ_statement-statement-note-11-revenue-recognition-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock" xlink:label="us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock-2" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="occ_statement-statement-note-11-revenue-recognition-tables" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TableTextBlock-2" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TableTextBlock" xlink:to="us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual" xlink:href="occ-20240430.xsd#statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_EmployeesConsultantAndNonemployeeDirectorsMember" xlink:label="occ_EmployeesConsultantAndNonemployeeDirectorsMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_NoteToFinancialStatementDetailsTextual" xlink:label="occ_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_Plan2017Member" xlink:label="occ_Plan2017Member" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockMember" xlink:label="us-gaap_RestrictedStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="occ_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PlanNameAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="occ_Plan2017Member" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_TitleOfIndividualAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualAxis" xlink:to="occ_EmployeesConsultantAndNonemployeeDirectorsMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AwardTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_RestrictedStockMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_SubsequentEventTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized-2" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-summary-of-changes-in-the-allowance-for-doubtful-accounts-for-trade-accounts-receivable-details" xlink:href="occ-20240430.xsd#statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-summary-of-changes-in-the-allowance-for-doubtful-accounts-for-trade-accounts-receivable-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20240430/role/statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-summary-of-changes-in-the-allowance-for-doubtful-accounts-for-trade-accounts-receivable-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_statement-statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-summary-of-changes-in-the-allowance-for-doubtful-accounts-for-trade-accounts-receivable-details" xlink:label="occ_statement-statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-summary-of-changes-in-the-allowance-for-doubtful-accounts-for-trade-accounts-receivable-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent-5" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="occ_statement-statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-summary-of-changes-in-the-allowance-for-doubtful-accounts-for-trade-accounts-receivable-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent-4" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProvisionForDoubtfulAccounts" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent-5" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-4-inventories-components-of-inventories-details" xlink:href="occ-20240430.xsd#statement-note-4-inventories-components-of-inventories-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20240430/role/statement-note-4-inventories-components-of-inventories-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_statement-statement-note-4-inventories-components-of-inventories-details" xlink:label="occ_statement-statement-note-4-inventories-components-of-inventories-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventorySuppliesNetOfReserves" xlink:label="us-gaap_InventorySuppliesNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="occ_statement-statement-note-4-inventories-components-of-inventories-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventorySuppliesNetOfReserves" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_InventoryNet-3" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-5-product-warranties-details-textual" xlink:href="occ-20240430.xsd#statement-note-5-product-warranties-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20240430/role/statement-note-5-product-warranties-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_NoteToFinancialStatementDetailsTextual" xlink:label="occ_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductWarrantyAccrual" xlink:label="us-gaap_ProductWarrantyAccrual-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductWarrantyExpense" xlink:label="us-gaap_ProductWarrantyExpense-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="occ_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_BalanceSheetLocationAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProductWarrantyAccrual-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProductWarrantyExpense-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details" xlink:href="occ-20240430.xsd#statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20240430/role/statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_statement-statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details" xlink:label="occ_statement-statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductWarrantyAccrual" xlink:label="us-gaap_ProductWarrantyAccrual-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductWarrantyAccrual" xlink:label="us-gaap_ProductWarrantyAccrual-5" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductWarrantyAccrualPayments" xlink:label="us-gaap_ProductWarrantyAccrualPayments-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:label="us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:label="us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="occ_statement-statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProductWarrantyAccrual-4" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProductWarrantyAccrualPayments-n8" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ProductWarrantyAccrual-5" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual" xlink:href="occ-20240430.xsd#statement-note-6-longterm-debt-and-notes-payable-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_DebtInstrumentAmortizationPeriod" xlink:label="occ_DebtInstrumentAmortizationPeriod-2" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_DebtInstrumentTermExtensions" xlink:label="occ_DebtInstrumentTermExtensions-2" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_LineOfCreditFacilityAdditionalCapacityForAdvances" xlink:label="occ_LineOfCreditFacilityAdditionalCapacityForAdvances-2" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_LineOfCreditFacilityMaximumPercentageOfOutstandingEligibleAccountsLoanValue" xlink:label="occ_LineOfCreditFacilityMaximumPercentageOfOutstandingEligibleAccountsLoanValue-2" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_LineOfCreditFacilityPercentOfEligibleAccounts" xlink:label="occ_LineOfCreditFacilityPercentOfEligibleAccounts-2" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_LineOfCreditFacilityPercentOfEligibleInventory" xlink:label="occ_LineOfCreditFacilityPercentOfEligibleInventory-2" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_LineOfCreditFacilityRestrictedCapacityForAdvances" xlink:label="occ_LineOfCreditFacilityRestrictedCapacityForAdvances-2" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_NorthMillCapitalLlcMember" xlink:label="occ_NorthMillCapitalLlcMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_NoteToFinancialStatementDetailsTextual" xlink:label="occ_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_VirginiaRealEstateLoanMember" xlink:label="occ_VirginiaRealEstateLoanMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration" xlink:label="us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermLoansPayable" xlink:label="us-gaap_LongTermLoansPayable-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="occ_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LongtermDebtTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="occ_VirginiaRealEstateLoanMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MinimumMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_CreditFacilityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_RevolvingCreditFacilityMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LineOfCreditFacilityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="occ_NorthMillCapitalLlcMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_MaximumMember" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="occ_DebtInstrumentAmortizationPeriod-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateEffectivePercentage-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermLoansPayable-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="occ_LineOfCreditFacilityPercentOfEligibleAccounts-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="occ_LineOfCreditFacilityPercentOfEligibleInventory-2" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="occ_LineOfCreditFacilityAdditionalCapacityForAdvances-2" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="occ_LineOfCreditFacilityMaximumPercentageOfOutstandingEligibleAccountsLoanValue-2" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="occ_LineOfCreditFacilityRestrictedCapacityForAdvances-2" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity-2" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1-2" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="occ_DebtInstrumentTermExtensions-2" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LineOfCredit-2" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-7-leases-details-textual" xlink:href="occ-20240430.xsd#statement-note-7-leases-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20240430/role/statement-note-7-leases-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_NoteToFinancialStatementDetailsTextual" xlink:label="occ_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_OperatingLeaseForOfficeEquipmentMember" xlink:label="occ_OperatingLeaseForOfficeEquipmentMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_OperatingLeaseForOfficeManufacturingAndWarehouseSpaceInPlanoTexasMember" xlink:label="occ_OperatingLeaseForOfficeManufacturingAndWarehouseSpaceInPlanoTexasMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember" xlink:label="occ_OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AreaOfRealEstateProperty" xlink:label="us-gaap_AreaOfRealEstateProperty-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseInterestExpense" xlink:label="us-gaap_FinanceLeaseInterestExpense-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeasePrincipalPayments" xlink:label="us-gaap_FinanceLeasePrincipalPayments-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseRightOfUseAsset" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseContractualTermAxis" xlink:label="us-gaap_LeaseContractualTermAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseContractualTermDomain" xlink:label="us-gaap_LeaseContractualTermDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeFinanceLeaseDiscountRate" xlink:label="us-gaap_LesseeFinanceLeaseDiscountRate-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeFinanceLeaseRemainingLeaseTerm" xlink:label="us-gaap_LesseeFinanceLeaseRemainingLeaseTerm-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseTermOfContract" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseExpense" xlink:label="us-gaap_OperatingLeaseExpense-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeasePayments" xlink:label="us-gaap_OperatingLeasePayments-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="occ_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseContractualTermAxis" xlink:to="us-gaap_LeaseContractualTermDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_LeaseContractualTermAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseContractualTermAxis" xlink:to="occ_OperatingLeaseForOfficeManufacturingAndWarehouseSpaceInPlanoTexasMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseContractualTermAxis" xlink:to="occ_OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseContractualTermAxis" xlink:to="occ_OperatingLeaseForOfficeEquipmentMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AreaOfRealEstateProperty-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseTermOfContract-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset-2" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList-2" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent-2" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent-2" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList-2" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList-2" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseExpense-2" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1-2" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent-2" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeasePayments-2" xlink:type="arc"/>
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability-2" xlink:type="arc"/>
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseRightOfUseAsset-2" xlink:type="arc"/>
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList-2" xlink:type="arc"/>
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityCurrent-2" xlink:type="arc"/>
    <link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrent-2" xlink:type="arc"/>
    <link:presentationArc order="17" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList-2" xlink:type="arc"/>
    <link:presentationArc order="18" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList-2" xlink:type="arc"/>
    <link:presentationArc order="19" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseInterestExpense-2" xlink:type="arc"/>
    <link:presentationArc order="20" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseRightOfUseAssetAmortization-2" xlink:type="arc"/>
    <link:presentationArc order="21" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeFinanceLeaseRemainingLeaseTerm-2" xlink:type="arc"/>
    <link:presentationArc order="22" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeFinanceLeaseDiscountRate-2" xlink:type="arc"/>
    <link:presentationArc order="23" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeasePrincipalPayments-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-7-leases-future-payments-due-details" xlink:href="occ-20240430.xsd#statement-note-7-leases-future-payments-due-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20240430/role/statement-note-7-leases-future-payments-due-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_statement-statement-note-7-leases-future-payments-due-details" xlink:label="occ_statement-statement-note-7-leases-future-payments-due-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="occ_statement-statement-note-7-leases-future-payments-due-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:type="arc"/>
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:type="arc"/>
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue-3" xlink:type="arc"/>
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDue-3" xlink:type="arc"/>
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount-n8" xlink:type="arc"/>
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount-n8" xlink:type="arc"/>
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseLiability-2" xlink:type="arc"/>
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_FinanceLeaseLiability-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-9-net-income-loss-per-share-details-textual" xlink:href="occ-20240430.xsd#statement-note-9-net-income-loss-per-share-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20240430/role/statement-note-9-net-income-loss-per-share-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_NoteToFinancialStatementDetailsTextual" xlink:label="occ_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="occ_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-9-net-income-loss-per-share-components-of-reconciliation-of-numerators-and-denominators-net-loss-per-share-details" xlink:href="occ-20240430.xsd#statement-note-9-net-income-loss-per-share-components-of-reconciliation-of-numerators-and-denominators-net-loss-per-share-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20240430/role/statement-note-9-net-income-loss-per-share-components-of-reconciliation-of-numerators-and-denominators-net-loss-per-share-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_statement-statement-note-9-net-income-loss-per-share-components-of-reconciliation-of-numerators-and-denominators-net-loss-per-share-details" xlink:label="occ_statement-statement-note-9-net-income-loss-per-share-components-of-reconciliation-of-numerators-and-denominators-net-loss-per-share-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="occ_statement-statement-note-9-net-income-loss-per-share-components-of-reconciliation-of-numerators-and-denominators-net-loss-per-share-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_EarningsPerShareBasic" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual" xlink:href="occ-20240430.xsd#statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_ConcentrationRiskNumberOfCustomers" xlink:label="occ_ConcentrationRiskNumberOfCustomers-2" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_NoteToFinancialStatementDetailsTextual" xlink:label="occ_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_OneCustomerMember" xlink:label="occ_OneCustomerMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="occ_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_CustomerConcentrationRiskMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_SalesRevenueNetMember" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_MajorCustomersAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="occ_OneCustomerMember" xlink:type="arc"/>
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="occ_ConcentrationRiskNumberOfCustomers-2" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NumberOfReportableSegments-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-11-revenue-recognition-details-textual" xlink:href="occ-20240430.xsd#statement-note-11-revenue-recognition-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20240430/role/statement-note-11-revenue-recognition-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_NoteToFinancialStatementDetailsTextual" xlink:label="occ_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerRefundLiability" xlink:label="us-gaap_ContractWithCustomerRefundLiability-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="occ_NoteToFinancialStatementDetailsTextual" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerLiability-2" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ContractWithCustomerRefundLiability-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-11-revenue-recognition-schedule-of-revenue-from-external-customers-by-geographical-areas-details" xlink:href="occ-20240430.xsd#statement-note-11-revenue-recognition-schedule-of-revenue-from-external-customers-by-geographical-areas-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20240430/role/statement-note-11-revenue-recognition-schedule-of-revenue-from-external-customers-by-geographical-areas-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_US" xlink:label="country_US" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20240430.xsd#occ_statement-statement-note-11-revenue-recognition-schedule-of-revenue-from-external-customers-by-geographical-areas-details" xlink:label="occ_statement-statement-note-11-revenue-recognition-schedule-of-revenue-from-external-customers-by-geographical-areas-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonUsMember" xlink:label="us-gaap_NonUsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="occ_statement-statement-note-11-revenue-recognition-schedule-of-revenue-from-external-customers-by-geographical-areas-details" xlink:to="us-gaap_StatementTable" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_StatementGeographicalAxis" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="country_US" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="us-gaap_NonUsMember" xlink:type="arc"/>
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="dei_LegalEntityAxis" xlink:type="arc"/>
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" xlink:type="arc"/>
    <link:presentationArc order="0" preferredLabel="http://www.xbrl.org/2003/role/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="arc"/>
  </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>10
<FILENAME>occ-20240430_cal.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION CALCULATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome XBRL - 05:37PM UTC 2024-06-06--><link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xlink="http://www.w3.org/1999/xlink" 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">
  <link:roleRef roleURI="http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited" xlink:href="occ-20240430.xsd#statement-condensed-consolidated-balance-sheets-unaudited" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxesReceivable" xlink:label="us-gaap_IncomeTaxesReceivable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LoansPayableCurrent" xlink:label="us-gaap_LoansPayableCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermLineOfCredit" xlink:label="us-gaap_LongTermLineOfCredit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermLoansPayable" xlink:label="us-gaap_LongTermLoansPayable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherReceivables" xlink:label="us-gaap_OtherReceivables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxesPayableCurrent" xlink:label="us-gaap_TaxesPayableCurrent" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_IncomeTaxesReceivable" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_OtherReceivables" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_InventoryNet" xlink:type="arc"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_OtherAssetsNoncurrent" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_AssetsCurrent" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_TaxesPayableCurrent" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LoansPayableCurrent" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_LiabilitiesCurrent" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_LongTermLineOfCredit" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_LongTermLoansPayable" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_OtherLiabilitiesNoncurrent" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_PreferredStockValue" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_CommonStockValue" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_StockholdersEquity" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_Liabilities" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-condensed-consolidated-statements-of-operations-unaudited" xlink:href="occ-20240430.xsd#statement-condensed-consolidated-statements-of-operations-unaudited" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://http/20240430/role/statement-condensed-consolidated-statements-of-operations-unaudited" xlink:type="extended">
    <link:loc xlink:href="occ-20240430.xsd#occ_RoyaltyRevenueExpense" xlink:label="occ_RoyaltyRevenueExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnusualOrInfrequentItemInsuranceProceeds" xlink:label="us-gaap_UnusualOrInfrequentItemInsuranceProceeds" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="arc"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_CostOfGoodsAndServicesSold" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_GrossProfit" xlink:type="arc"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="occ_RoyaltyRevenueExpense" xlink:type="arc"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_AmortizationOfIntangibleAssets" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_OtherNonoperatingIncomeExpense" xlink:type="arc"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_InterestExpense" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_UnusualOrInfrequentItemInsuranceProceeds" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_OperatingIncomeLoss" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_NonoperatingIncomeExpense" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="arc"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_IncomeTaxExpenseBenefit" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" xlink:href="occ-20240430.xsd#statement-condensed-consolidated-statements-of-cash-flows-unaudited" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeasePrincipalPayments" xlink:label="us-gaap_FinanceLeasePrincipalPayments" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherReceivables" xlink:label="us-gaap_IncreaseDecreaseInOtherReceivables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsOfFinancingCosts" xlink:label="us-gaap_PaymentsOfFinancingCosts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireIntangibleAssets" xlink:label="us-gaap_PaymentsToAcquireIntangibleAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromInsuranceSettlementInvestingActivities" xlink:label="us-gaap_ProceedsFromInsuranceSettlementInvestingActivities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromNotesPayable" xlink:label="us-gaap_ProceedsFromNotesPayable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RepaymentsOfNotesPayable" xlink:label="us-gaap_RepaymentsOfNotesPayable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnusualOrInfrequentItemInsuranceProceeds" xlink:label="us-gaap_UnusualOrInfrequentItemInsuranceProceeds" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetIncomeLoss" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_DepreciationDepletionAndAmortization" xlink:type="arc"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_ProvisionForDoubtfulAccounts" xlink:type="arc"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_ShareBasedCompensation" xlink:type="arc"/>
    <link:calculationArc order="6" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_UnusualOrInfrequentItemInsuranceProceeds" xlink:type="arc"/>
    <link:calculationArc order="7" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:type="arc"/>
    <link:calculationArc order="8" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:type="arc"/>
    <link:calculationArc order="9" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInOtherReceivables" xlink:type="arc"/>
    <link:calculationArc order="10" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInInventories" xlink:type="arc"/>
    <link:calculationArc order="11" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:type="arc"/>
    <link:calculationArc order="12" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:type="arc"/>
    <link:calculationArc order="13" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:type="arc"/>
    <link:calculationArc order="14" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:type="arc"/>
    <link:calculationArc order="0" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_ProceedsFromInsuranceSettlementInvestingActivities" xlink:type="arc"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsToAcquireIntangibleAssets" xlink:type="arc"/>
    <link:calculationArc order="0" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_ProceedsFromNotesPayable" xlink:type="arc"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_RepaymentsOfNotesPayable" xlink:type="arc"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_RepaymentsOfLongTermDebt" xlink:type="arc"/>
    <link:calculationArc order="4" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_PaymentsOfFinancingCosts" xlink:type="arc"/>
    <link:calculationArc order="5" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_FinanceLeasePrincipalPayments" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-4-inventories-components-of-inventories-details" xlink:href="occ-20240430.xsd#statement-note-4-inventories-components-of-inventories-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://http/20240430/role/statement-note-4-inventories-components-of-inventories-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventorySuppliesNetOfReserves" xlink:label="us-gaap_InventorySuppliesNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventorySuppliesNetOfReserves" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://http/20240430/role/statement-note-7-leases-future-payments-due-details" xlink:href="occ-20240430.xsd#statement-note-7-leases-future-payments-due-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://http/20240430/role/statement-note-7-leases-future-payments-due-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:type="locator"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="arc"/>
    <link:calculationArc order="0" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="arc"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:type="arc"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:type="arc"/>
  </link:calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>12
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140691010884112">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Document And Entity Information - shares<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Apr. 30, 2024</div></th>
<th class="th"><div>Jun. 04, 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_dei_DocumentInformationLineItems', window );"><strong>Document Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-Q<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentQuarterlyReport', window );">Document Quarterly Report</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Apr. 30,  2024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">0-27022<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">OPTICAL CABLE CORPORATION<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">VA<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">54-1237042<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">5290 Concourse Drive<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">Roanoke<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">VA<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">24019<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">540<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">265&#8209;0690<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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, no par value<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">OCC<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Non-accelerated Filer<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntitySmallBusiness', window );">Entity Small Business</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,892,475<span></span>
</td>
</tr>
<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">0001000230<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">--10-31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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>
</tr>
<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">Q2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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;">dei_DocumentInformationLineItems</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_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentQuarterlyReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an quarterly report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-Q<br> -Number 240<br> -Section 308<br> -Subsection a<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentQuarterlyReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as a transition report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Forms 10-K, 10-Q, 20-F<br> -Number 240<br> -Section 13<br> -Subsection a-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentTransitionReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCurrentReportingStatus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCurrentReportingStatus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFilerCategory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFilerCategory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:filerCategoryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityInteractiveDataCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-T<br> -Number 232<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityInteractiveDataCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityShellCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityShellCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntitySmallBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates that the company is a Smaller Reporting Company (SRC).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntitySmallBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>13
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140690986753536">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Consolidated Balance Sheets (Unaudited) - USD ($)<br></strong></div></th>
<th class="th"><div>Apr. 30, 2024</div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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</a></td>
<td class="nump">$ 1,089,912<span></span>
</td>
<td class="nump">$ 1,468,709<span></span>
</td>
</tr>
<tr class="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 );">Trade accounts receivable, net of allowance for credit losses of $54,261 at April 30, 2024 and $71,189 at October 31, 2023</a></td>
<td class="nump">8,297,895<span></span>
</td>
<td class="nump">8,727,810<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxesReceivable', window );">Income taxes refundable - current</a></td>
<td class="nump">81,844<span></span>
</td>
<td class="nump">81,844<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherReceivables', window );">Other receivables</a></td>
<td class="nump">13,228<span></span>
</td>
<td class="nump">397,758<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories</a></td>
<td class="nump">21,486,376<span></span>
</td>
<td class="nump">23,766,326<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other assets</a></td>
<td class="nump">483,909<span></span>
</td>
<td class="nump">595,469<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">31,453,164<span></span>
</td>
<td class="nump">35,037,916<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">7,079,322<span></span>
</td>
<td class="nump">7,139,616<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Intangible assets, net</a></td>
<td class="nump">539,168<span></span>
</td>
<td class="nump">566,197<span></span>
</td>
</tr>
<tr class="re">
<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 assets, net</a></td>
<td class="nump">813,250<span></span>
</td>
<td class="nump">1,135,172<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_Assets', window );">Total assets</a></td>
<td class="nump">39,884,904<span></span>
</td>
<td class="nump">43,878,901<span></span>
</td>
</tr>
<tr class="re">
<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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LoansPayableCurrent', window );">Current installments of long-term debt</a></td>
<td class="nump">55,445<span></span>
</td>
<td class="nump">52,624<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent', window );">Accounts payable and accrued expenses</a></td>
<td class="nump">5,396,473<span></span>
</td>
<td class="nump">5,843,044<span></span>
</td>
</tr>
<tr class="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 and payroll taxes</a></td>
<td class="nump">1,647,773<span></span>
</td>
<td class="nump">1,849,780<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TaxesPayableCurrent', window );">Income taxes payable</a></td>
<td class="nump">34,777<span></span>
</td>
<td class="nump">22,754<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">7,134,468<span></span>
</td>
<td class="nump">7,768,202<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermLineOfCredit', window );">Note payable, revolver - noncurrent</a></td>
<td class="nump">8,046,853<span></span>
</td>
<td class="nump">8,324,397<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermLoansPayable', window );">Long-term debt, excluding current installments</a></td>
<td class="nump">2,599,030<span></span>
</td>
<td class="nump">2,622,620<span></span>
</td>
</tr>
<tr class="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 liabilities</a></td>
<td class="nump">266,198<span></span>
</td>
<td class="nump">441,838<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">18,046,549<span></span>
</td>
<td class="nump">19,157,057<span></span>
</td>
</tr>
<tr class="re">
<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>Shareholders&#8217; equity:</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_PreferredStockValue', window );">Preferred stock, no par value, authorized 1,000,000 shares; none issued and outstanding</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common stock, no par value, authorized 50,000,000 shares; issued and outstanding 7,852,515 shares at April 30, 2024 and 7,893,681 shares at October 31, 2023</a></td>
<td class="nump">15,277,264<span></span>
</td>
<td class="nump">15,134,133<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained earnings</a></td>
<td class="nump">6,561,091<span></span>
</td>
<td class="nump">9,587,711<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total shareholders&#8217; equity</a></td>
<td class="nump">21,838,355<span></span>
</td>
<td class="nump">24,721,844<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingencies', window );">Commitments and Contingencies</a></td>
<td class="text"> <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_LiabilitiesAndStockholdersEquity', window );">Total liabilities and shareholders&#8217; equity</a></td>
<td class="nump">$ 39,884,904<span></span>
</td>
<td class="nump">$ 43,878,901<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_AccountsPayableAndAccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying values as of the balance sheet date of obligations incurred through that date and due within one year (or the operating cycle, if longer), including liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received, taxes, interest, rent and utilities, accrued salaries and bonuses, payroll taxes and fringe benefits.</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(19))<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_AccountsPayableAndAccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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_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_IncomeTaxesReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 due within one year of the balance sheet date (or one operating cycle, if longer) from tax authorities as of the balance sheet date representing refunds of overpayments or recoveries based on agreed-upon resolutions of disputes.</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(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxesReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482686/350-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-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 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_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_LoansPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 portion of long-term loans payable due within one year or the 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_LoansPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_LongTermLineOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 noncurrent portion 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> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481573/470-10-45-13<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481573/470-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_LongTermLineOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_LongTermLoansPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 loans payable (with maturities initially due after one year or beyond the operating cycle if longer), excluding current portion.</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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermLoansPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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_OtherReceivables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount due from parties in nontrade transactions, 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 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 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(5)(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-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 S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: 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)(3))<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_OtherReceivables</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://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/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)(21))<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_PreferredStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.</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(9))<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_PrepaidExpenseAndOtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxesPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for statutory income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</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(19))<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_TaxesPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>14
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140690988299264">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Consolidated Balance Sheets (Unaudited) (Parentheticals) - USD ($)<br> $ / shares in Thousands</strong></div></th>
<th class="th"><div>Apr. 30, 2024</div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Accounts Receivable, Allowance for Credit Loss, Current</a></td>
<td class="nump">$ 54,261<span></span>
</td>
<td class="nump">$ 71,189<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockNoParValue', window );">Preferred Stock, No Par Value (in dollars per share)</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred Stock, Shares Authorized (in shares)</a></td>
<td class="nump">1,000,000<span></span>
</td>
<td class="nump">1,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_PreferredStockSharesIssued', window );">Preferred Stock, Shares Issued (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred Stock, Shares Outstanding (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockNoParValue', window );">Common Stock, No Par Value (in dollars per share)</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common Stock, Shares Authorized (in shares)</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 (in shares)</a></td>
<td class="nump">7,852,515<span></span>
</td>
<td class="nump">7,893,681<span></span>
</td>
</tr>
<tr class="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 (in shares)</a></td>
<td class="nump">7,852,515<span></span>
</td>
<td class="nump">7,893,681<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_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479344/326-20-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_CommonStockNoParValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 per share of no-par value 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_CommonStockNoParValue</td>
</tr>
<tr>
<td style="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_PreferredStockNoParValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 per share of no-par value preferred stock nonredeemable or redeemable solely at the option of the issuer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://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/2009/role/commonPracticeRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockNoParValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://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_PreferredStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued for nonredeemable preferred shares and preferred shares redeemable solely at option of issuer. Includes, but is not limited to, preferred shares issued, repurchased, and held as treasury shares. Excludes preferred shares classified as 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 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 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>15
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140690986792432">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Operations (Unaudited) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Apr. 30, 2024</div></th>
<th class="th"><div>Apr. 30, 2023</div></th>
<th class="th"><div>Apr. 30, 2024</div></th>
<th class="th"><div>Apr. 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_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net sales</a></td>
<td class="nump">$ 16,112,098<span></span>
</td>
<td class="nump">$ 19,619,536<span></span>
</td>
<td class="nump">$ 30,966,863<span></span>
</td>
<td class="nump">$ 37,903,211<span></span>
</td>
</tr>
<tr class="ro">
<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 goods sold</a></td>
<td class="nump">12,073,462<span></span>
</td>
<td class="nump">12,836,830<span></span>
</td>
<td class="nump">23,214,705<span></span>
</td>
<td class="nump">24,599,296<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_GrossProfit', window );">Gross profit</a></td>
<td class="nump">4,038,636<span></span>
</td>
<td class="nump">6,782,706<span></span>
</td>
<td class="nump">7,752,158<span></span>
</td>
<td class="nump">13,303,915<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpense', window );">Selling, general and administrative expenses</a></td>
<td class="nump">5,319,580<span></span>
</td>
<td class="nump">5,662,339<span></span>
</td>
<td class="nump">10,412,685<span></span>
</td>
<td class="nump">11,117,805<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_occ_RoyaltyRevenueExpense', window );">Royalty expense, net</a></td>
<td class="nump">6,677<span></span>
</td>
<td class="nump">6,572<span></span>
</td>
<td class="nump">13,263<span></span>
</td>
<td class="nump">13,158<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization of intangible assets</a></td>
<td class="nump">13,516<span></span>
</td>
<td class="nump">13,689<span></span>
</td>
<td class="nump">27,032<span></span>
</td>
<td class="nump">26,910<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_OperatingIncomeLoss', window );">Income (loss) from operations</a></td>
<td class="num">(1,301,137)<span></span>
</td>
<td class="nump">1,100,106<span></span>
</td>
<td class="num">(2,700,822)<span></span>
</td>
<td class="nump">2,146,042<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherIncomeAndExpensesAbstract', window );"><strong>Other income (expense), net:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestExpense', window );">Interest expense, net</a></td>
<td class="num">(280,618)<span></span>
</td>
<td class="num">(286,065)<span></span>
</td>
<td class="num">(579,228)<span></span>
</td>
<td class="num">(556,688)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnusualOrInfrequentItemInsuranceProceeds', window );">Gain on insurance proceeds, net</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,696,290<span></span>
</td>
<td class="nump">218,902<span></span>
</td>
<td class="nump">1,696,290<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other, net</a></td>
<td class="num">(12,364)<span></span>
</td>
<td class="num">(12,311)<span></span>
</td>
<td class="nump">48,834<span></span>
</td>
<td class="nump">54,824<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 );">Other income (expense), net</a></td>
<td class="num">(292,982)<span></span>
</td>
<td class="nump">1,397,914<span></span>
</td>
<td class="num">(311,492)<span></span>
</td>
<td class="nump">1,194,426<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 );">Income (loss) before income taxes</a></td>
<td class="num">(1,594,119)<span></span>
</td>
<td class="nump">2,498,020<span></span>
</td>
<td class="num">(3,012,314)<span></span>
</td>
<td class="nump">3,340,468<span></span>
</td>
</tr>
<tr class="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">7,227<span></span>
</td>
<td class="nump">74,933<span></span>
</td>
<td class="nump">14,306<span></span>
</td>
<td class="nump">107,397<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_NetIncomeLoss', window );">Net income (loss)</a></td>
<td class="num">$ (1,601,346)<span></span>
</td>
<td class="nump">$ 2,423,087<span></span>
</td>
<td class="num">$ (3,026,620)<span></span>
</td>
<td class="nump">$ 3,233,071<span></span>
</td>
</tr>
<tr class="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 income (loss) per share: Basic and diluted (in dollars per share)</a></td>
<td class="num">$ (0.21)<span></span>
</td>
<td class="nump">$ 0.31<span></span>
</td>
<td class="num">$ (0.39)<span></span>
</td>
<td class="nump">$ 0.41<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_occ_RoyaltyRevenueExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Net amount of revenue (expense) recognized during the period related to royalty transactions.</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;">occ_RoyaltyRevenueExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>occ_</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_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482686/350-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_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_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_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_InterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 operating and nonoperating. Includes, but is not limited to, cost of borrowing accounted for as interest expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/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/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 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-24<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 8: 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 (a)<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_InterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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_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_OtherIncomeAndExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OtherIncomeAndExpensesAbstract</td>
</tr>
<tr>
<td style="padding-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_OtherNonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_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_UnusualOrInfrequentItemInsuranceProceeds">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 insurance proceeds for an event or transaction that is unusual in nature or infrequent in occurrence, or both.</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 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483613/220-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnusualOrInfrequentItemInsuranceProceeds</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>16
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140690903348320">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Shareholders' Equity (Unaudited) - USD ($)<br></strong></div></th>
<th class="th"><div>Common Stock [Member]</div></th>
<th class="th"><div>Retained Earnings [Member]</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_SharesOutstanding', window );">Balances (in shares) at Oct. 31, 2022</a></td>
<td class="nump">7,893,194<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balances at Oct. 31, 2022</a></td>
<td class="nump">$ 14,638,505<span></span>
</td>
<td class="nump">$ 7,521,213<span></span>
</td>
<td class="nump">$ 22,159,718<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation', window );">Share-based compensation, net (in shares)</a></td>
<td class="num">(24,626)<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_StockIssuedDuringPeriodValueShareBasedCompensation', window );">Share-based compensation, net</a></td>
<td class="nump">$ 34,322<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">34,322<span></span>
</td>
</tr>
<tr class="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 loss</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">809,984<span></span>
</td>
<td class="nump">809,984<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balances (in shares) at Jan. 31, 2023</a></td>
<td class="nump">7,868,568<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balances at Jan. 31, 2023</a></td>
<td class="nump">$ 14,672,827<span></span>
</td>
<td class="nump">8,331,197<span></span>
</td>
<td class="nump">23,004,024<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balances (in shares) at Oct. 31, 2022</a></td>
<td class="nump">7,893,194<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balances at Oct. 31, 2022</a></td>
<td class="nump">$ 14,638,505<span></span>
</td>
<td class="nump">7,521,213<span></span>
</td>
<td class="nump">22,159,718<span></span>
</td>
</tr>
<tr class="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 loss</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,233,071<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balances (in shares) at Apr. 30, 2023</a></td>
<td class="nump">7,865,121<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balances at Apr. 30, 2023</a></td>
<td class="nump">$ 14,812,334<span></span>
</td>
<td class="nump">10,754,284<span></span>
</td>
<td class="nump">25,566,618<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balances (in shares) at Jan. 31, 2023</a></td>
<td class="nump">7,868,568<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balances at Jan. 31, 2023</a></td>
<td class="nump">$ 14,672,827<span></span>
</td>
<td class="nump">8,331,197<span></span>
</td>
<td class="nump">23,004,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_StockIssuedDuringPeriodSharesShareBasedCompensation', window );">Share-based compensation, net (in shares)</a></td>
<td class="num">(3,447)<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_StockIssuedDuringPeriodValueShareBasedCompensation', window );">Share-based compensation, net</a></td>
<td class="nump">$ 139,507<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">139,507<span></span>
</td>
</tr>
<tr class="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 loss</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">2,423,087<span></span>
</td>
<td class="nump">2,423,087<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balances (in shares) at Apr. 30, 2023</a></td>
<td class="nump">7,865,121<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balances at Apr. 30, 2023</a></td>
<td class="nump">$ 14,812,334<span></span>
</td>
<td class="nump">10,754,284<span></span>
</td>
<td class="nump">25,566,618<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balances (in shares) at Oct. 31, 2023</a></td>
<td class="nump">7,893,681<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balances at Oct. 31, 2023</a></td>
<td class="nump">$ 15,134,133<span></span>
</td>
<td class="nump">9,587,711<span></span>
</td>
<td class="nump">24,721,844<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation', window );">Share-based compensation, net (in shares)</a></td>
<td class="num">(40,324)<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_StockIssuedDuringPeriodValueShareBasedCompensation', window );">Share-based compensation, net</a></td>
<td class="nump">$ 51,490<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">51,490<span></span>
</td>
</tr>
<tr class="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 loss</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">(1,425,274)<span></span>
</td>
<td class="num">(1,425,274)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balances (in shares) at Jan. 31, 2024</a></td>
<td class="nump">7,853,357<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balances at Jan. 31, 2024</a></td>
<td class="nump">$ 15,185,623<span></span>
</td>
<td class="nump">8,162,437<span></span>
</td>
<td class="nump">23,348,060<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balances (in shares) at Oct. 31, 2023</a></td>
<td class="nump">7,893,681<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balances at Oct. 31, 2023</a></td>
<td class="nump">$ 15,134,133<span></span>
</td>
<td class="nump">9,587,711<span></span>
</td>
<td class="nump">24,721,844<span></span>
</td>
</tr>
<tr class="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 loss</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,026,620)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balances (in shares) at Apr. 30, 2024</a></td>
<td class="nump">7,852,515<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balances at Apr. 30, 2024</a></td>
<td class="nump">$ 15,277,264<span></span>
</td>
<td class="nump">6,561,091<span></span>
</td>
<td class="nump">21,838,355<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balances (in shares) at Jan. 31, 2024</a></td>
<td class="nump">7,853,357<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balances at Jan. 31, 2024</a></td>
<td class="nump">$ 15,185,623<span></span>
</td>
<td class="nump">8,162,437<span></span>
</td>
<td class="nump">23,348,060<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation', window );">Share-based compensation, net (in shares)</a></td>
<td class="num">(842)<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_StockIssuedDuringPeriodValueShareBasedCompensation', window );">Share-based compensation, net</a></td>
<td class="nump">$ 91,641<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">91,641<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net loss</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">(1,601,346)<span></span>
</td>
<td class="num">(1,601,346)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balances (in shares) at Apr. 30, 2024</a></td>
<td class="nump">7,852,515<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balances at Apr. 30, 2024</a></td>
<td class="nump">$ 15,277,264<span></span>
</td>
<td class="nump">$ 6,561,091<span></span>
</td>
<td class="nump">$ 21,838,355<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_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_SharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued which are neither cancelled nor held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 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_StockIssuedDuringPeriodSharesShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 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 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>17
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140690988329120">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Cash Flows (Unaudited) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Apr. 30, 2024</div></th>
<th class="th"><div>Apr. 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_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_NetIncomeLoss', window );">Net income (loss)</a></td>
<td class="num">$ (3,026,620)<span></span>
</td>
<td class="nump">$ 3,233,071<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income (loss) to net cash provided by (used in) operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationDepletionAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">431,414<span></span>
</td>
<td class="nump">496,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_ProvisionForDoubtfulAccounts', window );">Bad debt expense (recovery)</a></td>
<td class="num">(16,928)<span></span>
</td>
<td class="nump">14,959<span></span>
</td>
</tr>
<tr class="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 );">Share-based compensation expense</a></td>
<td class="nump">250,792<span></span>
</td>
<td class="nump">289,680<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnusualOrInfrequentItemInsuranceProceeds', window );">Gain on insurance proceeds, net</a></td>
<td class="num">(218,902)<span></span>
</td>
<td class="num">(1,696,290)<span></span>
</td>
</tr>
<tr class="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 );">Loss on disposal of property and equipment</a></td>
<td class="nump">796<span></span>
</td>
<td class="nump">10,307<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingAssetsAbstract', window );"><strong>(Increase) decrease in:</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 );">Trade accounts receivable</a></td>
<td class="nump">446,843<span></span>
</td>
<td class="num">(357,932)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherReceivables', window );">Other receivables</a></td>
<td class="nump">384,530<span></span>
</td>
<td class="num">(35,867)<span></span>
</td>
</tr>
<tr class="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 );">Inventories</a></td>
<td class="nump">2,279,950<span></span>
</td>
<td class="num">(3,661,198)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid expenses and other assets</a></td>
<td class="nump">111,560<span></span>
</td>
<td class="nump">80,602<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherOperatingAssets', window );">Other assets</a></td>
<td class="nump">201,924<span></span>
</td>
<td class="num">(103,560)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract', window );"><strong>Increase (decrease) in:</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_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities', window );">Accounts payable and accrued expenses</a></td>
<td class="num">(436,535)<span></span>
</td>
<td class="num">(102,154)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities', window );">Accrued compensation and payroll taxes</a></td>
<td class="num">(202,007)<span></span>
</td>
<td class="nump">218,168<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable', window );">Income taxes payable</a></td>
<td class="nump">12,023<span></span>
</td>
<td class="nump">55,329<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities', window );">Other noncurrent liabilities</a></td>
<td class="num">(106,235)<span></span>
</td>
<td class="nump">65,078<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash provided by (used in) operating activities</a></td>
<td class="nump">112,605<span></span>
</td>
<td class="num">(1,493,146)<span></span>
</td>
</tr>
<tr class="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 );">Purchase of and deposits for the purchase of property and equipment</a></td>
<td class="num">(235,823)<span></span>
</td>
<td class="num">(230,252)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromInsuranceSettlementInvestingActivities', window );">Insurance proceeds, net</a></td>
<td class="nump">218,902<span></span>
</td>
<td class="nump">1,696,290<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireIntangibleAssets', window );">Investment in intangible assets</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(1,997)<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 provided by (used in) investing activities</a></td>
<td class="num">(16,921)<span></span>
</td>
<td class="nump">1,464,041<span></span>
</td>
</tr>
<tr class="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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Payroll taxes withheld and remitted on share-based payments</a></td>
<td class="num">(107,661)<span></span>
</td>
<td class="num">(115,851)<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Principal payments on long-term debt</a></td>
<td class="num">(20,770)<span></span>
</td>
<td class="num">(167,596)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsOfFinancingCosts', window );">Payments for financing costs</a></td>
<td class="num">(50,000)<span></span>
</td>
<td class="num">(50,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_FinanceLeasePrincipalPayments', window );">Principal payments on finance lease</a></td>
<td class="num">(18,507)<span></span>
</td>
<td class="num">(17,652)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash provided by (used in) financing activities</a></td>
<td class="num">(474,481)<span></span>
</td>
<td class="nump">1,656,048<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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net increase (decrease) in cash</a></td>
<td class="num">(378,797)<span></span>
</td>
<td class="nump">1,626,943<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">Cash at beginning of period</a></td>
<td class="nump">1,468,709<span></span>
</td>
<td class="nump">215,936<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">Cash at end of period</a></td>
<td class="nump">1,089,912<span></span>
</td>
<td class="nump">1,842,879<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_LineOfCreditFacilityAxis=occ_NorthMillCapitalLlcMember', window );">North Mill Capital LLC [Member] | Revolving Credit Facility [Member]</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_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" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromNotesPayable', window );">Proceeds from note payable, revolver</a></td>
<td class="nump">31,812,257<span></span>
</td>
<td class="nump">41,292,679<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RepaymentsOfNotesPayable', window );">Payments on note payable, revolver</a></td>
<td class="num">$ (32,089,800)<span></span>
</td>
<td class="num">$ (39,285,532)<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_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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; including, but not limited to, 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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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_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_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the amounts payable to vendors for goods and services received and the amount of obligations and expenses incurred but not paid.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 period in the amount due for taxes based on the reporting entity's earnings or attributable to the entity's income earning process (business presence) within a given jurisdiction.</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_IncreaseDecreaseInAccruedIncomeTaxesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IncreaseDecreaseInEmployeeRelatedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits.</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_IncreaseDecreaseInEmployeeRelatedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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_IncreaseDecreaseInOperatingAssetsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncreaseDecreaseInOperatingAssetsAbstract</td>
</tr>
<tr>
<td style="padding-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_IncreaseDecreaseInOperatingLiabilitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncreaseDecreaseInOperatingLiabilitiesAbstract</td>
</tr>
<tr>
<td style="padding-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_IncreaseDecreaseInOtherNoncurrentLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 noncurrent operating liabilities 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;">us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IncreaseDecreaseInOtherOperatingAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in operating assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherOperatingAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherReceivables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 receivables 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_IncreaseDecreaseInOtherReceivables</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 prepaid expenses, and assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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_PaymentsOfFinancingCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 and 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> -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_PaymentsOfFinancingCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_PaymentsRelatedToTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow to satisfy 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>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 15<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_PaymentsToAcquireIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow to acquire asset without physical form usually arising from contractual or other legal rights, excluding goodwill.</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_PaymentsToAcquireIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ProceedsFromInsuranceSettlementInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 for proceeds from settlement of insurance claim, classified as investing activities. Excludes insurance settlement 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> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-12<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 21B<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-21B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromInsuranceSettlementInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ProceedsFromNotesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 a borrowing supported by a written promise to pay an obligation.</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 14<br> -Subparagraph (b)<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_ProceedsFromNotesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ProvisionForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 (reversal of expense) for expected 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/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-13<br><br>Reference 2: 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(5))<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_ProvisionForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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_RepaymentsOfNotesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 a borrowing supported by a written promise to pay an obligation.</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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfNotesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_UnusualOrInfrequentItemInsuranceProceeds">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 insurance proceeds for an event or transaction that is unusual in nature or infrequent in occurrence, or both.</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 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483613/220-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnusualOrInfrequentItemInsuranceProceeds</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_LineOfCreditFacilityAxis=occ_NorthMillCapitalLlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LineOfCreditFacilityAxis=occ_NorthMillCapitalLlcMember</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140690900319600">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - General<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 30, 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_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock', window );">Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]</a></td>
<td class="text">
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tbody><tr style="vertical-align: top;">
			<td style="width: 27pt;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>(1)</b></p>
			</td>
			<td style="width: auto;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>General</b></p>
			</td>
		</tr>

</tbody></table>

<p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The accompanying unaudited condensed consolidated financial statements of Optical Cable Corporation and its subsidiaries (collectively, the &#8220;Company&#8221; or &#8220;OCC<sup style="vertical-align:top;line-height:120%;">&#174;</sup>&#8221;) have been prepared in accordance with U.S. generally accepted accounting principles for interim financial information and the instructions to Form 10&#8209;Q and Regulation S&#8209;X. Accordingly, they do not include all of the information and notes required by U.S. generally accepted accounting principles for complete financial statements. In the opinion of management, all material adjustments considered necessary for a fair presentation have been included. Operating results for the six months ended April 30, 2024 are not necessarily indicative of the results for the fiscal year ending October 31, 2024 because the following items, among other things, may impact those results: changing macroeconomic conditions in various markets, supply chain and labor constraints impacting production volumes, any increased costs related to government and private industry mandates in the areas of the world in which we operate, changes in market conditions, seasonality, inflation and interest rates, changes in technology, competitive conditions, timing of certain projects and purchases by key customers, significant variations in sales resulting from high volatility and timing of large sales orders among a limited number of customers in certain markets, ability of management to execute its business plans, continued ability to maintain and/or secure future debt and/or equity financing to adequately finance ongoing operations; as well as other variables, uncertainties, contingencies and risks set forth as risks in the Company&#8217;s Annual Report on Form 10&#8209;K for the fiscal year ended October 31, 2023 (including those set forth in the &#8220;Forward-Looking Information&#8221; section), or as otherwise set forth in other filings by the Company as variables, contingencies and/or risks possibly affecting future results. The unaudited condensed consolidated financial statements and condensed notes are presented as permitted by Form 10&#8209;Q and do not contain certain information included in the Company&#8217;s annual consolidated financial statements and notes. For further information, refer to the consolidated financial statements and notes thereto included in the Company&#8217;s Annual Report on Form 10&#8209;K for the fiscal year ended October 31, 2023.</p>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480424/946-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480424/946-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/810/tableOfContent<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/205/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140690996701104">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 2 - Stock Incentive Plans and Other Share-based Compensation<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 30, 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_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</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 );">Share-Based Payment Arrangement [Text Block]</a></td>
<td class="text">
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tbody><tr style="vertical-align: top;">
			<td style="width: 27pt;">
			<p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(2)</b></p>
			</td>
			<td style="width: auto;">
			<p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>Stock Incentive Plan and Other Share</b>&#8209;<b>Based Compensation</b></p>
			</td>
		</tr>

</tbody></table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">As of April 30, 2024, there were approximately 397,000 remaining shares available for grant under the Optical Cable Corporation Stock Incentive Plan (&#8220;2017 Plan&#8221;).</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">Share-based compensation expense for employees, a consultant and non-employee Directors recognized in the condensed consolidated statements of operations for the three months and six months ended April 30, 2024 was $91,641 and $250,792, respectively. Share-based compensation expense for employees, a consultant and non-employee Directors recognized in the condensed consolidated statements of operations for the three months and six months ended April 30, 2023 was $154,639 and $289,680, respectively. Share-based compensation expense is entirely related to expense recognized in connection with the vesting of restricted stock awards or other stock awards.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 27pt;"><i>Stock Compensation</i></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Company has granted, and anticipates granting from time to time, restricted stock awards subject to approval by the Compensation Committee of the Board of Directors. Since fiscal year 2004, the Company has exclusively used restricted stock awards for all share-based compensation of employees and consultants, and restricted stock awards or stock awards to non-employee members of the Board of Directors.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>















<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">Restricted stock award activity during the six months ended April 30, 2024 consisted of restricted shares forfeited totaling 842 shares and restricted shares withheld for taxes in connection with the vesting of restricted shares totaling 40,324 shares. OCC restricted stock grants provide the participant with the option to surrender shares to pay for withholding tax obligations resulting from any vesting restricted shares, or to pay cash to the Company or taxing authorities in the amount of the withholding taxes owed on the value of any vesting restricted shares in order to avoid surrendering shares.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">As of April 30, 2024, the estimated amount of compensation cost related to unvested equity-based compensation awards in the form of service-based and operational performance-based shares that the Company will recognize over a 1 year weighted-average period is approximately $262,000.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">On May 17, 2024, subsequent to the Company&#8217;s fiscal quarter end, the Company granted restricted stock awards totaling 39,960 shares to non-employee Directors under the 2017 Plan. The shares are subject to a one-year vesting period and are part of the non-employee Directors&#8217; annual compensation for service on the Board of Directors.</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_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-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>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.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140690900104688">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 3 - Allowance for Credit Losses for Trade Accounts Receivable<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 30, 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_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</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_occ_AllowanceForDoubtfulAccountsForTradeAccountsReceivableDisclosureTextBlock', window );">Allowance for Doubtful Accounts for Trade Accounts Receivable Disclosure [Text Block]</a></td>
<td class="text">
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tbody><tr style="vertical-align: top;">
			<td style="width: 27pt;">
			<p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(3)</b></p>
			</td>
			<td style="width: auto;">
			<p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>Allowance for Credit Losses for Trade Accounts Receivable</b></p>
			</td>
		</tr>

</tbody></table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;">A summary of changes in the allowance for credit losses for trade accounts receivable for the six months ended April 30, 2024 and 2023 follows:</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;">&#160;</p>


<table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 27pt;">

		<tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Six Months Ended </b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>April 30,</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2024</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Balance at beginning of period</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">71,189</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">69,643</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Bad debt expense (recovery)</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">(16,928</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">14,959</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Balance at end of period</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 3px double rgb(0, 0, 0);">54,261</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 3px double rgb(0, 0, 0);">84,602</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
		</tr>

</tbody></table>


<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_occ_AllowanceForDoubtfulAccountsForTradeAccountsReceivableDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Allowance for doubtful accounts for trade accounts receivable</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;">occ_AllowanceForDoubtfulAccountsForTradeAccountsReceivableDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>occ_</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_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-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>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.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140690901740096">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 4 - Inventories<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 30, 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_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</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_InventoryDisclosureTextBlock', window );">Inventory Disclosure [Text Block]</a></td>
<td class="text">
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tbody><tr style="vertical-align: top;">
			<td style="width: 27pt;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>(4)</b></p>
			</td>
			<td style="width: auto;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Inventories</b></p>
			</td>
		</tr>

</tbody></table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">Inventories as of April 30, 2024 and October&#160;31, 2023 consist of the following:</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>


<table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 27pt;">

		<tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>April 30,</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>October 31,</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2024</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Finished goods</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">5,646,852</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">5,937,682</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Work in process</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">4,103,938</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">4,372,913</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Raw materials</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">11,345,172</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">13,130,478</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Production supplies</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">390,414</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">325,253</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 3px double rgb(0, 0, 0);">21,486,376</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 3px double rgb(0, 0, 0);">23,766,326</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
		</tr>

</tbody></table>


<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</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_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-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_InventoryDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.</p></div>
<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 330<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/330/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_InventoryDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>22
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140690901728112">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 5 - Product Warranties<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 30, 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_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</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_ProductWarrantyDisclosureTextBlock', window );">Product Warranty Disclosure [Text Block]</a></td>
<td class="text">
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tbody><tr style="vertical-align: top;">
			<td style="width: 27pt;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>(5) </b></p>
			</td>
			<td style="width: auto;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Product Warranties</b></p>
			</td>
		</tr>

</tbody></table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">As of April 30, 2024 and October 31, 2023, the Company&#8217;s accrual for estimated product warranty claims totaled $75,000 and $80,000, respectively, and is included in accounts payable and accrued expenses. Warranty claims expense for the three months and six months ended April 30, 2024 totaled $39,078 and $44,266, respectively. Warranty claims expense for the three months and six months ended April 30, 2023 totaled $13,078 and $29,652, respectively.</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">&#160;</p>















<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The following table summarizes the changes in the Company&#8217;s accrual for product warranties during the six months ended April 30, 2024 and 2023:</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>


<table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 27pt;">

		<tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Six Months Ended </b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>April 30, 2024</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2024</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Balance at beginning of period</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">80,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">75,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Liabilities accrued for warranties issued during the period</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">65,766</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">59,149</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Warranty claims and costs paid during the period</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">(49,266</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">(39,652</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Changes in liability for pre-existing warranties during the period</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">(21,500</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">(29,497</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Balance at end of period</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 3px double rgb(0, 0, 0);">75,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 3px double rgb(0, 0, 0);">65,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
		</tr>

</tbody></table>


<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</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_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-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_ProductWarrantyDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 standard and extended product warranties and other product guarantee contracts, including a tabular reconciliation of the changes in the guarantor's aggregate product warranty liability for 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 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482425/460-10-50-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)(5)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482425/460-10-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482425/460-10-50-4<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482425/460-10-50-4<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482425/460-10-50-4<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482425/460-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<FILENAME>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140690996161472">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 6 - Long-term Debt and Notes Payable<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 30, 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_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</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_LongTermDebtTextBlock', window );">Long-Term Debt [Text Block]</a></td>
<td class="text">
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tbody><tr style="vertical-align: top;">
			<td style="width: 27pt;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>(6)</b></p>
			</td>
			<td style="width: auto;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Long-term Debt and Notes Payable </b></p>
			</td>
		</tr>

</tbody></table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;">The Company has credit facilities consisting of a real estate term loan, as amended and restated (the &#8220;Virginia Real Estate Loan&#8221;), and a Revolving Credit Master Promissory Note and related Loan and Security Agreement (collectively, the &#8220;Revolver&#8221;).</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Virginia Real Estate Loan is with Northeast Bank and is payable in monthly installments of principal and interest. Principal is calculated using the unpaid balance of the loan and a two hundred forty (240) month amortization schedule. Interest is computed on the aggregate principal balance outstanding at a rate equal to the Prime Rate, adjusted monthly on the fifth day of each calendar month in accordance with changes to the Prime Rate, provided, however, that the interest rate is never less than 8.5% per annum on the basis of a 360-day year times the actual number of days elapsed. The <span style="-sec-ix-hidden:c380"><span style="-sec-ix-hidden:c381">Prime Rate</span></span> was 8.5% per annum at April 30, 2024 and October 31, 2023. The maturity date of the Virginia Real Estate Loan is May 5, 2026.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Loan remains generally secured by a first lien deed of trust on the land and buildings at the Company&#8217;s headquarters and manufacturing facilities located in Roanoke, Virginia. All other terms of the Virginia Real Estate Loan remain unaltered and remain in full force and effect.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Company had an outstanding balance on its Virginia Real Estate Loan of $2.7 million, as of April 30, 2024 and October 31, 2023.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Revolver with North Mill Capital LLC (now doing business as SLR Business Credit, &#8220;SLR&#8221;) provides the Company with one or more advances in an amount up to: (a) 85% of the aggregate outstanding amount of eligible accounts (the &#8220;eligible accounts loan value&#8221;); plus (b) the lowest of (i) an amount up to 35% of the aggregate value of eligible inventory, (ii) $5,000,000, and (iii) an amount not to exceed 100% of the then outstanding eligible accounts loan value; minus (c) $1,150,000.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The maximum aggregate principal amount subject to the Revolver is $18,000,000. Interest accrues on the daily balance at the per annum rate of 1.5% above the <span style="-sec-ix-hidden:c393"><span style="-sec-ix-hidden:c394"><span style="-sec-ix-hidden:c395">Prime Rate</span></span></span> in effect from time to time, but not less than 4.75% (the &#8220;Applicable Rate&#8221;). As a result, the Revolver accrued interest at a 10.0% rate at April 30, 2024 and October 31, 2023. In the event of a default, interest may become 6.0% above the Applicable Rate. The termination date of the Revolver is July 24, 2025 and the loan may be extended in <span style="-sec-ix-hidden:c400">one</span> year periods subject to the agreement of SLR.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>















<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Revolver is secured by all of the following assets: properties, rights and interests in property of the Company whether now owned or existing, or hereafter acquired or arising, and wherever located; all accounts, equipment, commercial tort claims, general intangibles, chattel paper, inventory, negotiable collateral, investment property, financial assets, letter-of-credit rights, supporting obligations, deposit accounts, money or assets of the Company, which hereafter come into the possession, custody, or control of SLR; all proceeds and products, whether tangible or intangible, of any of the foregoing, including proceeds of insurance covering any or all of the foregoing; any and all tangible or intangible property resulting from the sale, lease, license or other disposition of any of the foregoing, or any portion thereof or interest therein, and all proceeds thereof; and any other assets of the Company which may be subject to a lien in favor of SLR as security for the obligations under the Loan Agreement.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">As of April 30, 2024, the Company had $8.0 million of outstanding borrowings on its Revolver and $2.0 million in available credit. As of October 31, 2023, the Company had $8.3 million of outstanding borrowings on its Revolver and $2.6 million in available credit.</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_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-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_LongTermDebtTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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-term 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 470<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/470/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_LongTermDebtTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140690903479920">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 7 - Leases<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 30, 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_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</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_occ_LesseeOperatingAndFinanceLeasesDisclosureTextBlock', window );">Lessee, Operating and Finance Leases Disclosure [Text Block]</a></td>
<td class="text">
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tbody><tr style="vertical-align: top;">
			<td style="width: 27pt;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>(7)</b></p>
			</td>
			<td style="width: auto;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Leases</b></p>
			</td>
		</tr>

</tbody></table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Company has an operating lease agreement for approximately 34,000 square feet of office, manufacturing and warehouse space in Plano, Texas (near Dallas). The lease term expires on November 30, 2024.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Company has an operating lease agreement for approximately 36,000 square feet of warehouse space in Roanoke, Virginia. During the first quarter of fiscal year 2023, the lease term was extended for an additional <span style="-sec-ix-hidden:c409">three</span> years. The new expiration date is April 30, 2026.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Company also leases certain office equipment under operating leases with initial 60 month terms. The lease terms expire in February and April of 2025.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">OCC leases printers that are used in the Roanoke, Virginia manufacturing facility. The lease term expires on August 22, 2026. The right-of-use asset is being amortized on a straight line basis over seven years. When the lease term ends, the remaining net book value of the right-of-use asset will be classified as property and equipment.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Company&#8217;s lease contracts may include options to extend or terminate the leases. The Company exercises judgment to determine the term of those leases when such options are present and include such options in the calculation of the lease term when it is reasonably certain that it will exercise those options.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Company includes contract lease components in its determination of lease payments, while non-lease components of the contracts, such as taxes, insurance, and common area maintenance, are expensed as incurred. At commencement, right-of-use assets and lease liabilities are measured at the present value of future lease payments over the lease term. The Company uses its incremental borrowing rate based on information available at the time of lease commencement to measure the present value of future payments.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">Operating lease expense is recognized on a straight-line basis over the lease term. Short term leases with an initial term of 12 months or less are expensed as incurred. The Company&#8217;s short term leases have month-to-month terms.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>















<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">Operating lease right-of-use assets of $407,796 and $596,578 were included in <span style="-sec-ix-hidden:c413"><span style="-sec-ix-hidden:c414">other assets</span></span> at April 30, 2024 and October 31, 2023, respectively. Operating lease liabilities of $318,225 and $121,294, respectively, were included in <span style="-sec-ix-hidden:c417">accounts payable and accrued expenses</span>, and <span style="-sec-ix-hidden:c418">other noncurrent liabilities</span>, at April 30, 2024. Operating lease liabilities of $414,159 and $227,925, respectively, were included in <span style="-sec-ix-hidden:c421">accounts payable and accrued expenses</span>, and <span style="-sec-ix-hidden:c422">other noncurrent liabilities</span> at October 31, 2023. Operating lease expense recognized during the three months and six months ended April 30, 2024 totaled $109,144 and $218,288, respectively. Operating lease expense recognized during the three months and six months ended April 30, 2023 totaled $109,144 and $212,477, respectively.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The weighted average remaining lease term was 16.5 months and the weighted average discount rate was 7.6% as of April 30, 2024.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">For the three months ended April 30, 2024 and 2023, cash paid for operating lease liabilities totaled $111,770 and $109,151, respectively. For the three months ended April 30, 2024 and 2023, there were <span style="-sec-ix-hidden:c431"><span style="-sec-ix-hidden:c432">no</span></span> right-of-use assets obtained in exchange for new operating lease liabilities.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">Finance lease right-of-use assets of $126,593 and $141,342 were included in <span style="-sec-ix-hidden:c435"><span style="-sec-ix-hidden:c436">other assets</span></span> at April 30, 2024 and October 31, 2023, respectively. Finance lease liabilities of $38,357 and $74,046, respectively, were included in <span style="-sec-ix-hidden:c439">accounts payable and accrued expenses</span>, and <span style="-sec-ix-hidden:c440">other noncurrent liabilities</span> at April 30, 2024. Finance lease liabilities of $37,459 and $93,451, respectively, were included in <span style="-sec-ix-hidden:c443">accounts payable and accrued expenses</span>, and <span style="-sec-ix-hidden:c444">other noncurrent liabilities</span> at October 31, 2023. Interest expense related to the finance lease totaled $1,409 and $2,927, respectively, for the three months and six months ended April 30, 2024. Interest expense related to the finance lease totaled $1,840 and $3,784, respectively, for the three months and six months ended April 30, 2023. For the three months ended April 30, 2024 and 2023, amortization expense related to the finance lease totaled $7,374. For the six months ended April 30, 2024 and 2023, amortization expense related to the finance lease totaled $14,749.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The remaining lease term for the finance lease is 28 months and the discount rate is 4.75% as of April 30, 2024.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">For the three months ended April 30, 2024, cash paid for the finance lease liability totaled $1,409 for interest and $9,309 for principal. For the six months ended April 30, 2024, cash paid for the finance lease liability totaled $2,927 for interest and $18,507 for principal.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">For the three months ended April 30, 2023, cash paid for the finance lease liability totaled $1,840 for interest and $8,878 for principal. For the six months ended April 30, 2023, cash paid for the finance lease liability totaled $3,784 for interest and $17,652 for principal.</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">&#160;</p>















<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Company&#8217;s future payments due under leases reconciled to the lease liabilities are as follows:</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>


<table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 15%; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 63pt;">

		<tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><span style="text-decoration: underline; "><b>Fiscal Year</b></span></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Operating </b></p>

			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>leases</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Finance </b></p>

			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>lease</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>2024 <sup style="vertical-align:top;line-height:120%;">(1)</sup></b></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">225,340</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">21,434</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">2025</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">177,997</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">42,868</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">2026</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">63,644</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">55,714</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Total undiscounted lease payments</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">466,981</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">120,016</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Present value discount</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(27,462</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(7,613</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Total lease liability</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">439,519</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">112,403</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>(1) Remaining six months of fiscal year 2024.</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td>
		</tr>

</tbody></table>


<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_occ_LesseeOperatingAndFinanceLeasesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 operating and finance leases of lessee. Includes, but is not limited to, description of lessee's operating and finance lease and maturity analysis of operating and finance lease liability.</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;">occ_LesseeOperatingAndFinanceLeasesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>occ_</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_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-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>25
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140690900199312">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 8 - Fair Value Measurements<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 30, 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_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</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_FairValueDisclosuresTextBlock', window );">Fair Value Disclosures [Text Block]</a></td>
<td class="text">
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tbody><tr style="vertical-align: top;">
			<td style="width: 27pt;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>(8)</b></p>
			</td>
			<td style="width: auto;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Fair Value Measurements</b></p>
			</td>
		</tr>

</tbody></table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The carrying amounts reported in the condensed consolidated balance sheets as of April 30, 2024 and October 31, 2023 for cash, trade accounts receivable, income taxes refundable &#8211; current, other receivables, current installments of long-term debt, accounts payable and accrued expenses, accrued compensation and payroll taxes, and income taxes payable approximate fair value because of the short maturity of these instruments. The carrying value of the Company&#8217;s note payable, revolver &#8211; noncurrent, and long-term debt, excluding current installments, approximates fair value because the interest rates vary with the market. Fair value is defined as the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date.</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_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-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_FairValueDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 107<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-107<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 100<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-100<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-6A<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2E<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2E<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6A<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-6A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6A<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-6A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6A<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-6A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6A<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-6A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 940<br> -SubTopic 820<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478119/940-820-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_FairValueDisclosuresTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140690994539488">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 9 - Net Income (Loss) Per Share<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 30, 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_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</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 );">Earnings Per Share [Text Block]</a></td>
<td class="text">
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tbody><tr style="vertical-align: top;">
			<td style="width: 27pt;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b><a href="#" id="note9" title="note9"></a>(9)</b></p>
			</td>
			<td style="width: auto;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Net Income (Loss) Per Share</b></p>
			</td>
		</tr>

</tbody></table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">Basic net income (loss) per share excludes dilution and is computed by dividing net income (loss) available to common shareholders by the weighted-average number of common shares outstanding for the period. Diluted net income (loss) per share reflects the potential dilution that could occur if securities or other contracts to issue common stock were exercised or converted into common stock or resulted in the issuance of common stock that then shared in the net income (loss) of the Company.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The following is a reconciliation of the numerators and denominators of the net income (loss) per share computations for the periods presented:</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>


<table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 27pt;">

		<tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Three months ended </b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Six months ended</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>April 30,</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>April 30,</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2024</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2024</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 48%;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Net income (loss) (numerator)</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(1,601,346</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,423,087</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(3,026,620</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,233,071</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Shares (denominator)</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">7,710,801</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">7,867,755</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">7,731,605</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">7,880,685</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Basic and diluted net income (loss) per share</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(0.21</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.31</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(0.39</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.41</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
		</tr>

</tbody></table>


<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">Weighted average unvested shares for the three months and six months ended April 30, 2024 totaling 141,723, while issued and outstanding, were not included in the computation of basic and diluted net loss per share for the three months and six months ended April 30, 2024 (because to include such shares would have been anti-dilutive, or in other words, to do so would have reduced the net loss per share for those periods).</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">&#160;</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_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-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>27
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140690900144912">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 10 - Segment Information and Business and Credit Concentrations<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 30, 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_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</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 Risk Disclosure [Text Block]</a></td>
<td class="text">
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tbody><tr style="vertical-align: top;">
			<td style="width: 27pt;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>(10)</b></p>
			</td>
			<td style="width: auto;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Segment Information and Business and Credit Concentrations</b></p>
			</td>
		</tr>

</tbody></table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Company provides credit, in the normal course of business, to various commercial enterprises, governmental entities and not&#8209;for&#8209;profit organizations. Concentration of credit risk with respect to trade receivables is normally limited due to the Company&#8217;s large number of customers. The Company also manages exposure to credit risk through credit approvals, credit limits and monitoring procedures. Management believes that credit risks as of April 30, 2024 have been adequately provided for in the condensed consolidated financial statements. The Company includes all entities under common ownership for the purpose of calculating business concentrations.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">For the three months and six months ended April 30, 2024, 16.3% and 15.9%, respectively, of consolidated net sales were attributable to <span style="-sec-ix-hidden:c525"><span style="-sec-ix-hidden:c526"><span style="-sec-ix-hidden:c527"><span style="-sec-ix-hidden:c528">one</span></span></span></span> national distributor customer. For the three months and six months ended April 30, 2023, 17.7% and 16.3%, respectively, of consolidated net sales were attributable to the same national distributor customer.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Company has a <span style="-sec-ix-hidden:c531">single</span> reportable segment for purposes of segment reporting.</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_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-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>28
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140690901775344">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 11 - Revenue Recognition<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 30, 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_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</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 from Contract with Customer [Text Block]</a></td>
<td class="text">
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tbody><tr style="vertical-align: top;">
			<td style="width: 27pt;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>(11)</b></p>
			</td>
			<td style="width: auto;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Revenue Recognition</b></p>
			</td>
		</tr>

</tbody></table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">Revenues consist of product sales that are recognized at a specific point in time under the core principle of recognizing revenue when control transfers to the customer. The Company considers customer purchase orders, governed by master sales agreements or the Company&#8217;s standard terms and conditions, to be the contract with the customer. For each contract, the promise to transfer the control of the products, each of which is individually distinct, is considered to be the identified performance obligation. The Company evaluates each customer&#8217;s credit risk when determining whether to accept a contract.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">In determining transaction prices, the Company evaluates whether fixed order prices are subject to adjustment to determine the net consideration to which the Company expects to be entitled. Contracts do not include financing components, as payment terms are generally due 30 to 90 days after shipment. Taxes assessed by governmental authorities and collected from the customer including, but not limited to, sales and use taxes and value-added taxes, are not included in the transaction price and are not included in net sales.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Company recognizes revenue at the point in time when products are shipped or delivered from its manufacturing facility to its customer, in accordance with the agreed-upon shipping terms. Since the Company typically invoices the customer at the same time that performance obligations are satisfied, no contract assets are recognized. The Company&#8217;s contract liability represents advance consideration received from customers prior to transfer of the product. This liability was $180,431 as of April 30, 2024 and $110,336 as of October 31, 2023.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">Sales to certain customers are made pursuant to agreements that provide price adjustments and limited return rights with respect to the Company&#8217;s products. The Company maintains a reserve for estimated future price adjustment claims, rebates and returns as a refund liability. The Company&#8217;s refund liability was $133,201 as of April 30, 2024 and $252,264 as of October 31, 2023.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>















<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Company offers standard product warranty coverage which provides assurance that its products will conform to contractually agreed-upon specifications for a limited period from the date of shipment. Separately-priced warranty coverage is not offered. The warranty claim is generally limited to a credit equal to the purchase price or a promise to repair or replace the product for a specified period of time at no additional charge.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Company accounts for shipping and handling activities related to contracts with customers as a cost to fulfill its promise to transfer control of the related product. Shipping and handling costs are included in selling, general and administrative expenses in the accompanying Condensed Consolidated Statements of Operations.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">The Company incurs sales commissions to acquire customer contracts that are directly attributable to the contracts. The commissions are expensed as selling expenses during the period that the related products are transferred to customers.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 27pt;"><i>Disaggregation of Revenue</i></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;">The following table presents net sales attributable to the United States and all other countries in total for the three months and six months ended April 30, 2024 and 2023:</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>


<table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 27pt;">

		<tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Three months ended </b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Six months ended </b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>April 30,</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>April 30,</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2024</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2024</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">United States</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">13,024,311</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">15,829,216</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">24,993,866</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">30,407,301</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Outside the United States</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,087,787</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,790,320</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">5,972,997</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">7,495,910</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt;">Total net sales</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">16,112,098</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">19,619,536</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">30,966,863</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">37,903,211</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
		</tr>

</tbody></table>


<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</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_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-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>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.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140690901729904">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 12 - Contingencies<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 30, 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_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</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 Disclosure [Text Block]</a></td>
<td class="text">
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tbody><tr style="vertical-align: top;">
			<td style="width: 27pt;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>(12)</b></p>
			</td>
			<td style="width: auto;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>Contingencies</b></p>
			</td>
		</tr>

</tbody></table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">From time to time, the Company is involved in various claims, legal actions and regulatory reviews arising in the ordinary course of business. In the opinion of management, the ultimate disposition of these matters will not have a material adverse effect on the Company&#8217;s financial position, results of operations or liquidity.</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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-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>30
<FILENAME>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140690901778352">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 13 - New Accounting Standards Not Yet Adopted<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 30, 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_DisclosureTextBlockAbstract', window );"><strong>Notes to Financial Statements</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 and Change in Accounting Principle [Text Block]</a></td>
<td class="text">
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tbody><tr style="vertical-align: top;">
			<td style="width: 27pt;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>(13) </b></p>
			</td>
			<td style="width: auto;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>New Accounting Standards Not Yet Adopted</b></p>
			</td>
		</tr>

</tbody></table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">In November 2023, the FASB issued Accounting Standards Update 2023-07, <i>Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures</i>. ASU 2023-07 requires enhanced disclosures about significant segment expenses and enhanced disclosures in interim periods. The guidance in ASU 2023-07 will be applied retrospectively and is effective for annual reporting periods in fiscal years beginning after December 15, 2023 and interim reporting periods in fiscal years beginning after December 31, 2024, with early adoption permitted. The Company is currently evaluating the impact ASU 2023-07&#160;will have on its financial statement disclosures.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">In December 2023, the FASB issued Accounting Standards Update 2023-09, <i>Income Taxes (Topic 740): Improvements to Income Tax Disclosures</i> (&#8220;ASU 2023-09&#8221;). The objective of ASU 2023-09 is to enhance disclosures related to income taxes, including specific thresholds for inclusion within the tabular disclosure of income tax rate reconciliation and specified information about income taxes paid. ASU 2023-09 is effective for public companies starting in annual periods beginning after December 15, 2024, with early adoption permitted. The Company is currently evaluating the impact ASU 2023-09&#160;will have on its financial statement disclosures.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt; text-align: justify;">There are no other new accounting standards issued, but not yet adopted by the Company, which are expected to materially impact the Company&#8217;s financial position, operating results or financial statement disclosures.</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 27pt;">&#160;</p>



<p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#160;</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_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-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>31
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140690903333056">
<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>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Apr. 30, 2024</div></th>
<th class="th"><div>Apr. 30, 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_InsiderTradingArrLineItems', window );"><strong>Insider Trading Arr Line Items</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_MtrlTermsOfTrdArrTextBlock', window );">Material Terms of Trading Arrangement [Text Block]</a></td>
<td class="text">
<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><b><a href="#" id="item5" title="item5"></a>Item 5. Other Information</b></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">At the end of December 2022, an office building and its contents at the Company&#8217;s Asheville facilities sustained water damage resulting from a burst pipe in the sprinkler system, likely due to extreme low temperatures in the area during the days leading up to the event. This office building is separate from the Company&#8217;s manufacturing building which houses its manufacturing operations and certain offices at the same location. There was <span style="-sec-ix-hidden:c570"><span style="-sec-ix-hidden:c571"><span style="-sec-ix-hidden:c572"><span style="-sec-ix-hidden:c573">no</span></span></span></span> significant impact to the Company&#8217;s operations. The Company has insurance coverage for the office building, its contents and certain business expenses to cover the losses incurred.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">During the first half of fiscal year 2024, the Company recognized a gain on insurance proceeds, net for damage to property and equipment totaling $219,000 which is reflected as income under other income (expense), net on the Company&#8217;s condensed consolidated statement of operations. To the extent the Company incurs expenses in future periods to restore, repair or replace damaged assets, it may recognize offsetting losses in those future periods. At this time, the Company does not expect any future restoration and repair costs to exceed any insurance proceeds.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>



<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#160;</p>
<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_ecd_Rule10b51ArrAdoptedFlag', window );">Rule 10b5-1 Arrangement Adopted [Flag]</a></td>
<td class="text">&#160;<span></span>
</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 [Flag]</a></td>
<td class="text">&#160;<span></span>
</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 [Flag]</a></td>
<td class="text">&#160;<span></span>
</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_NonRule10b51ArrTrmntdFlag', window );">Non-Rule 10b5-1 Arrangement Terminated [Flag]</a></td>
<td class="text">&#160;<span></span>
</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_InsiderTradingArrLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_InsiderTradingArrLineItems</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_ecd_MtrlTermsOfTrdArrTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_MtrlTermsOfTrdArrTextBlock</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>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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140690901721792">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 3 - Allowance for Credit Losses for Trade Accounts Receivable (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 30, 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_TableTextBlock', window );"><strong>Notes Tables</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_occ_SummaryOfChangesInAllowanceForDoubtfulAccountsForTradeAccountsReceivableTableTextBlock', window );">Summary of Changes in the Allowance for Doubtful Accounts for Trade Accounts Receivable [Table Text Block]</a></td>
<td class="text">
<table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 27pt;">

		<tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Six Months Ended </b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>April 30,</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2024</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Balance at beginning of period</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">71,189</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">69,643</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Bad debt expense (recovery)</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">(16,928</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">14,959</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Balance at end of period</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 3px double rgb(0, 0, 0);">54,261</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 3px double rgb(0, 0, 0);">84,602</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
		</tr>

</tbody></table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_occ_SummaryOfChangesInAllowanceForDoubtfulAccountsForTradeAccountsReceivableTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Summary Of Changes In The Allowance For Doubtful Accounts For Trade Accounts Receivable [Table Text Block]</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;">occ_SummaryOfChangesInAllowanceForDoubtfulAccountsForTradeAccountsReceivableTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>occ_</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_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TableTextBlock</td>
</tr>
<tr>
<td style="padding-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>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.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140690996161472">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 4 - Inventories (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 30, 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_TableTextBlock', window );"><strong>Notes Tables</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_ScheduleOfInventoryCurrentTableTextBlock', window );">Schedule of Inventory, Current [Table Text Block]</a></td>
<td class="text">
<table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 27pt;">

		<tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>April 30,</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>October 31,</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2024</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Finished goods</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">5,646,852</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">5,937,682</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Work in process</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">4,103,938</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">4,372,913</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Raw materials</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">11,345,172</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">13,130,478</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Production supplies</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">390,414</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">325,253</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 3px double rgb(0, 0, 0);">21,486,376</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 3px double rgb(0, 0, 0);">23,766,326</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
		</tr>

</tbody></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_ScheduleOfInventoryCurrentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.</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(6)(a))<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(6)(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(6)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483489/210-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_ScheduleOfInventoryCurrentTableTextBlock</td>
</tr>
<tr>
<td style="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_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140690900268416">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 5 - Product Warranties (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 30, 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_TableTextBlock', window );"><strong>Notes Tables</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_ScheduleOfProductWarrantyLiabilityTableTextBlock', window );">Schedule of Product Warranty Liability [Table Text Block]</a></td>
<td class="text">
<table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 27pt;">

		<tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Six Months Ended </b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>April 30, 2024</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2024</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Balance at beginning of period</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">80,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">75,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Liabilities accrued for warranties issued during the period</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">65,766</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">59,149</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Warranty claims and costs paid during the period</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">(49,266</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;">(39,652</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Changes in liability for pre-existing warranties during the period</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">(21,500</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">(29,497</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Balance at end of period</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 3px double rgb(0, 0, 0);">75,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 3px double rgb(0, 0, 0);">65,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
		</tr>

</tbody></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_ScheduleOfProductWarrantyLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482425/460-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_ScheduleOfProductWarrantyLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="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_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140690901775904">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 7 - Leases (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 30, 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_TableTextBlock', window );"><strong>Notes Tables</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_occ_LesseeLeaseLiabilityMaturityTableTextBlock', window );">Lessee, Lease Liability, Maturity [Table Text Block]</a></td>
<td class="text">
<table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 15%; width: 85%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 63pt;">

		<tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 64%;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><span style="text-decoration: underline; "><b>Fiscal Year</b></span></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Operating </b></p>

			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>leases</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Finance </b></p>

			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>lease</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>2024 <sup style="vertical-align:top;line-height:120%;">(1)</sup></b></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">225,340</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">21,434</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">2025</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">177,997</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">42,868</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">2026</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">63,644</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">55,714</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Total undiscounted lease payments</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">466,981</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">120,016</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Present value discount</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(27,462</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(7,613</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">)</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Total lease liability</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">439,519</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 15%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">112,403</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>(1) Remaining six months of fiscal year 2024.</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b>&#160;</b></td>
		</tr>

</tbody></table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_occ_LesseeLeaseLiabilityMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 future payments for operating and finance lease 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;">occ_LesseeLeaseLiabilityMaturityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>occ_</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_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>36
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140690901885488">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 9 - Net Income (Loss) Per Share (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 30, 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_TableTextBlock', window );"><strong>Notes Tables</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 Earnings Per Share, Basic and Diluted [Table Text Block]</a></td>
<td class="text">
<table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 27pt;">

		<tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Three months ended </b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Six months ended</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>April 30,</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>April 30,</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2024</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2024</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 48%;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Net income (loss) (numerator)</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(1,601,346</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,423,087</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(3,026,620</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,233,071</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Shares (denominator)</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">7,710,801</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">7,867,755</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">7,731,605</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">7,880,685</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Basic and diluted net income (loss) per share</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(0.21</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.31</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(0.39</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">0.41</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
		</tr>

</tbody></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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TableTextBlock</td>
</tr>
<tr>
<td style="padding-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>37
<FILENAME>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140690901765168">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 11 - Revenue Recognition (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Apr. 30, 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_TableTextBlock', window );"><strong>Notes Tables</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_RevenueFromExternalCustomersByGeographicAreasTableTextBlock', window );">Revenue from External Customers by Geographic Areas [Table Text Block]</a></td>
<td class="text">
<table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px; margin-left: 27pt;">

		<tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Three months ended </b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Six months ended </b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
		</tr>
		<tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>April 30,</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>April 30,</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2024</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2024</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">United States</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">13,024,311</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">15,829,216</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">24,993,866</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">30,407,301</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Outside the United States</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,087,787</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,790,320</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">5,972,997</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">7,495,910</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt;">Total net sales</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">16,112,098</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">19,619,536</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">30,966,863</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">37,903,211</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">&#160;</td>
		</tr>

</tbody></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_RevenueFromExternalCustomersByGeographicAreasTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 revenue from external customers by geographic areas attributed to the entity's country of domicile and to foreign countries from which the entity derives revenue.</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 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock</td>
</tr>
<tr>
<td style="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_TableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>38
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140691010815488">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 2 - Stock Incentive Plans and Other Share-based Compensation (Details Textual) - USD ($)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>May 17, 2024</div></th>
<th class="th"><div>Apr. 30, 2024</div></th>
<th class="th"><div>Apr. 30, 2023</div></th>
<th class="th"><div>Apr. 30, 2024</div></th>
<th class="th"><div>Apr. 30, 2023</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember', window );">Restricted Stock [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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period</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">842<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation', window );">Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation</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">40,324<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition</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">1 year<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 262,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 262,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_PlanNameAxis=occ_Plan2017Member', window );">Plan 2017 [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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">397,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">397,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_PlanNameAxis=occ_Plan2017Member', window );">Plan 2017 [Member] | Restricted Stock [Member] | Subsequent Event [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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period</a></td>
<td class="nump">39,960<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=occ_Plan2017Member', window );">Plan 2017 [Member] | Employees, Consultant and Non-employee Directors [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>
</tr>
<tr class="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 );">Share-Based Payment Arrangement, Expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 91,641<span></span>
</td>
<td class="nump">$ 154,639<span></span>
</td>
<td class="nump">$ 250,792<span></span>
</td>
<td class="nump">$ 289,680<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_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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost not yet recognized for nonvested award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_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_SharesPaidForTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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=occ_Plan2017Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=occ_Plan2017Member</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_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_srt_TitleOfIndividualAxis=occ_EmployeesConsultantAndNonemployeeDirectorsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=occ_EmployeesConsultantAndNonemployeeDirectorsMember</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>39
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140690900275936">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 3 - Allowance for Credit Losses for Trade Accounts Receivable - Summary of Changes in the Allowance for Doubtful Accounts for Trade Accounts Receivable (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Apr. 30, 2024</div></th>
<th class="th"><div>Apr. 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_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Balance at beginning of period</a></td>
<td class="nump">$ 71,189<span></span>
</td>
<td class="nump">$ 69,643<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProvisionForDoubtfulAccounts', window );">Bad debt expense (recovery)</a></td>
<td class="num">(16,928)<span></span>
</td>
<td class="nump">14,959<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Balance at end of period</a></td>
<td class="nump">$ 54,261<span></span>
</td>
<td class="nump">$ 84,602<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_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479344/326-20-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ProvisionForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 (reversal of expense) for expected 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/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-13<br><br>Reference 2: 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(5))<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_ProvisionForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>40
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140690900009504">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 4 - Inventories - Components of Inventories (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Apr. 30, 2024</div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryFinishedGoodsNetOfReserves', window );">Finished goods</a></td>
<td class="nump">$ 5,646,852<span></span>
</td>
<td class="nump">$ 5,937,682<span></span>
</td>
</tr>
<tr class="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">4,103,938<span></span>
</td>
<td class="nump">4,372,913<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryRawMaterialsNetOfReserves', window );">Raw materials</a></td>
<td class="nump">11,345,172<span></span>
</td>
<td class="nump">13,130,478<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventorySuppliesNetOfReserves', window );">Production supplies</a></td>
<td class="nump">390,414<span></span>
</td>
<td class="nump">325,253<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_InventoryNet', window );">Total</a></td>
<td class="nump">$ 21,486,376<span></span>
</td>
<td class="nump">$ 23,766,326<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_InventoryFinishedGoodsNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale.</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)(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_InventoryFinishedGoodsNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-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 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_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_InventoryRawMaterialsNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process.</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)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryRawMaterialsNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_InventorySuppliesNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 valuation reserves and adjustments, as of the balance sheet date of products used directly or indirectly in the manufacturing or production process, which may or may not become part of the final product. May also include items used in the storage, presentation or transportation of physical goods.</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)(5))<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_InventorySuppliesNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140690906666976">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 5 - Product Warranties (Details Textual) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Apr. 30, 2024</div></th>
<th class="th"><div>Apr. 30, 2023</div></th>
<th class="th"><div>Apr. 30, 2024</div></th>
<th class="th"><div>Apr. 30, 2023</div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrual', window );">Standard and Extended Product Warranty Accrual</a></td>
<td class="nump">$ 75,000<span></span>
</td>
<td class="nump">$ 65,000<span></span>
</td>
<td class="nump">$ 75,000<span></span>
</td>
<td class="nump">$ 65,000<span></span>
</td>
<td class="nump">$ 80,000<span></span>
</td>
<td class="nump">$ 75,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_ProductWarrantyExpense', window );">Product Warranty Expense</a></td>
<td class="nump">39,078<span></span>
</td>
<td class="nump">$ 13,078<span></span>
</td>
<td class="nump">44,266<span></span>
</td>
<td class="nump">$ 29,652<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_BalanceSheetLocationAxis=us-gaap_AccountsPayableAndAccruedLiabilitiesMember', window );">Accounts Payable and Accrued Liabilities [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrual', window );">Standard and Extended Product Warranty Accrual</a></td>
<td class="nump">$ 75,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 75,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 80,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_us-gaap_ProductWarrantyAccrual">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 estimated claims under standard and extended warranty protection rights granted to customers.</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(15)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482425/460-10-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482425/460-10-50-8<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(5)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482425/460-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_ProductWarrantyAccrual</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ProductWarrantyExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 expense charged against earnings for the period pertaining to standard and extended warranties on the entity's goods and services granted to customers.</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><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 460<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/2147482425/460-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_ProductWarrantyExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_BalanceSheetLocationAxis=us-gaap_AccountsPayableAndAccruedLiabilitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_BalanceSheetLocationAxis=us-gaap_AccountsPayableAndAccruedLiabilitiesMember</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>42
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140690901584384">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 5 - Product Warranties - Changes in Accrual for Product Warranties (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Apr. 30, 2024</div></th>
<th class="th"><div>Apr. 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_us-gaap_ProductWarrantyAccrual', window );">Balance at beginning of period</a></td>
<td class="nump">$ 80,000<span></span>
</td>
<td class="nump">$ 75,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_ProductWarrantyAccrualWarrantiesIssued', window );">Liabilities accrued for warranties issued during the period</a></td>
<td class="nump">65,766<span></span>
</td>
<td class="nump">59,149<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrualPayments', window );">Warranty claims and costs paid during the period</a></td>
<td class="num">(49,266)<span></span>
</td>
<td class="num">(39,652)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease', window );">Changes in liability for pre-existing warranties during the period</a></td>
<td class="num">(21,500)<span></span>
</td>
<td class="num">(29,497)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrual', window );">Balance at end of period</a></td>
<td class="nump">$ 75,000<span></span>
</td>
<td class="nump">$ 65,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_ProductWarrantyAccrual">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 estimated claims under standard and extended warranty protection rights granted to customers.</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(15)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482425/460-10-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482425/460-10-50-8<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(5)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482425/460-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_ProductWarrantyAccrual</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ProductWarrantyAccrualPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 in the standard and extended product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard and extended product warranty.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482425/460-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_ProductWarrantyAccrualPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ProductWarrantyAccrualPreexistingIncreaseDecrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 the standard and extended product warranty accrual from changes in estimates attributable to preexisting product warranties.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482425/460-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_ProductWarrantyAccrualPreexistingIncreaseDecrease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ProductWarrantyAccrualWarrantiesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in the standard and extended product warranty accrual from warranties issued.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482425/460-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_ProductWarrantyAccrualWarrantiesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>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.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140690987001264">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 6 - Long-term Debt and Notes Payable (Details Textual) - USD ($)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1">6 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jul. 24, 2020</div></th>
<th class="th"><div>Apr. 30, 2024</div></th>
<th class="th"><div>Apr. 30, 2024</div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermLoansPayable', window );">Loans Payable, Noncurrent</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,599,030<span></span>
</td>
<td class="nump">$ 2,599,030<span></span>
</td>
<td class="nump">$ 2,622,620<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Credit Facility [Member] | North Mill Capital LLC [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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateEffectivePercentage', window );">Debt Instrument, Interest Rate, Effective Percentage</a></td>
<td class="nump">4.75%<span></span>
</td>
<td class="nump">10.00%<span></span>
</td>
<td class="nump">10.00%<span></span>
</td>
<td class="nump">10.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_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration', window );">Debt Instrument, Variable Interest Rate, Type [Extensible Enumeration]</a></td>
<td class="text">us-gaap:PrimeRateMember<span></span>
</td>
<td class="text">us-gaap:PrimeRateMember<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">us-gaap:PrimeRateMember<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_occ_LineOfCreditFacilityPercentOfEligibleAccounts', window );">Line of Credit Facility, Percent of Eligible Accounts</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">85.00%<span></span>
</td>
<td class="nump">85.00%<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_occ_LineOfCreditFacilityPercentOfEligibleInventory', window );">Line of Credit Facility, Percent of Eligible Inventory</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">35.00%<span></span>
</td>
<td class="nump">35.00%<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_occ_LineOfCreditFacilityAdditionalCapacityForAdvances', window );">Line of Credit Facility, Additional Capacity for Advances</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,000,000<span></span>
</td>
<td class="nump">$ 5,000,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_occ_LineOfCreditFacilityMaximumPercentageOfOutstandingEligibleAccountsLoanValue', window );">Line of Credit Facility, Maximum Percentage of Outstanding Eligible Accounts Loan Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="nump">100.00%<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_occ_LineOfCreditFacilityRestrictedCapacityForAdvances', window );">Line of Credit Facility, Restricted Capacity for Advances</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,150,000<span></span>
</td>
<td class="nump">$ 1,150,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Line of Credit Facility, Maximum Borrowing Capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">18,000,000<span></span>
</td>
<td class="nump">$ 18,000,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_DebtInstrumentBasisSpreadOnVariableRate1', window );">Debt Instrument, Basis Spread on Variable Rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.50%<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_occ_DebtInstrumentTermExtensions', window );">Debt Instrument, Term Extensions</a></td>
<td class="text">1 year<span></span>
</td>
<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 );">Long-Term Line of Credit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,000,000<span></span>
</td>
<td class="nump">$ 8,000,000<span></span>
</td>
<td class="nump">$ 8,300,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_LineOfCreditFacilityRemainingBorrowingCapacity', window );">Line of Credit Facility, Remaining Borrowing Capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,000,000<span></span>
</td>
<td class="nump">$ 2,000,000<span></span>
</td>
<td class="nump">$ 2,600,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum [Member] | Revolving Credit Facility [Member] | North Mill Capital LLC [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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateEffectivePercentage', window );">Debt Instrument, Interest Rate, Effective Percentage</a></td>
<td class="nump">6.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=occ_VirginiaRealEstateLoanMember', window );">Virginia Real Estate Loan [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>
</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_occ_DebtInstrumentAmortizationPeriod', window );">Debt Instrument, Amortization Period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">240 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateEffectivePercentage', window );">Debt Instrument, Interest Rate, Effective Percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8.50%<span></span>
</td>
<td class="nump">8.50%<span></span>
</td>
<td class="nump">8.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_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration', window );">Debt Instrument, Variable Interest Rate, Type [Extensible Enumeration]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">us-gaap:PrimeRateMember<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">us-gaap:PrimeRateMember<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermLoansPayable', window );">Loans Payable, Noncurrent</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,700,000<span></span>
</td>
<td class="nump">$ 2,700,000<span></span>
</td>
<td class="nump">$ 2,700,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_LongtermDebtTypeAxis=occ_VirginiaRealEstateLoanMember', window );">Virginia Real Estate Loan [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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateEffectivePercentage', window );">Debt Instrument, Interest Rate, Effective Percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8.50%<span></span>
</td>
<td class="nump">8.50%<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_occ_DebtInstrumentAmortizationPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for amortization of 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;">occ_DebtInstrumentAmortizationPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>occ_</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_occ_DebtInstrumentTermExtensions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Potential extension to the 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;">occ_DebtInstrumentTermExtensions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>occ_</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_occ_LineOfCreditFacilityAdditionalCapacityForAdvances">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Additional facility for advances.</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;">occ_LineOfCreditFacilityAdditionalCapacityForAdvances</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>occ_</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_occ_LineOfCreditFacilityMaximumPercentageOfOutstandingEligibleAccountsLoanValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percent of maximum outstanding eligible accounts loan value available for 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;">occ_LineOfCreditFacilityMaximumPercentageOfOutstandingEligibleAccountsLoanValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>occ_</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_occ_LineOfCreditFacilityPercentOfEligibleAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percent of aggregate outstanding amount of eligible accounts available for 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;">occ_LineOfCreditFacilityPercentOfEligibleAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>occ_</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_occ_LineOfCreditFacilityPercentOfEligibleInventory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percent of aggregate outstanding amount of eligible inventory available for 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;">occ_LineOfCreditFacilityPercentOfEligibleInventory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>occ_</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_occ_LineOfCreditFacilityRestrictedCapacityForAdvances">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Additional limit to facility for advances.</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;">occ_LineOfCreditFacilityRestrictedCapacityForAdvances</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>occ_</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_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_DebtInstrumentInterestRateEffectivePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Effective interest rate for the funds borrowed under the debt agreement considering interest compounding and original issue discount or premium.</p></div>
<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://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 3: 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 4: 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 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 (a)<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_DebtInstrumentInterestRateEffectivePercentage</td>
</tr>
<tr>
<td style="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_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_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_LongTermLoansPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 loans payable (with maturities initially due after one year or beyond the operating cycle if longer), excluding current portion.</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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermLoansPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityAxis=occ_NorthMillCapitalLlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LineOfCreditFacilityAxis=occ_NorthMillCapitalLlcMember</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_LongtermDebtTypeAxis=occ_VirginiaRealEstateLoanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LongtermDebtTypeAxis=occ_VirginiaRealEstateLoanMember</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<FILENAME>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140690898634128">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 7 - Leases (Details Textual)<br></strong></div></th>
<th class="th" colspan="3">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Apr. 30, 2024 </div>
<div>USD ($) </div>
<div>ft&#178;</div>
</th>
<th class="th">
<div>Apr. 30, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jan. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Apr. 30, 2024 </div>
<div>USD ($) </div>
<div>ft&#178;</div>
</th>
<th class="th">
<div>Apr. 30, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Oct. 31, 2023 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating Lease, Right-of-Use Asset</a></td>
<td class="nump">$ 407,796<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 407,796<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 596,578<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList', window );">Operating Lease, Right-of-Use Asset, Statement of Financial Position [Extensible Enumeration]</a></td>
<td class="text">Other assets, net<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">Other assets, net<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">Other assets, net<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Operating Lease, Liability, Current</a></td>
<td class="nump">$ 318,225<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 318,225<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 414,159<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Operating Lease, Liability, Noncurrent</a></td>
<td class="nump">$ 121,294<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 121,294<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 227,925<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList', window );">Operating Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration]</a></td>
<td class="text">Accounts payable and accrued expenses<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">Accounts payable and accrued expenses<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">Accounts payable and accrued expenses<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList', window );">Operating Lease, Liability, Noncurrent, Statement of Financial Position [Extensible Enumeration]</a></td>
<td class="text">Other noncurrent liabilities<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">Other noncurrent liabilities<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">Other noncurrent liabilities<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseExpense', window );">Operating Lease, Expense</a></td>
<td class="nump">$ 109,144<span></span>
</td>
<td class="nump">$ 109,144<span></span>
</td>
<td class="nump">$ 212,477<span></span>
</td>
<td class="nump">$ 218,288<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_OperatingLeaseWeightedAverageRemainingLeaseTerm1', window );">Operating Lease, Weighted Average Remaining Lease Term</a></td>
<td class="text">16 months 15 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">16 months 15 days<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_OperatingLeaseWeightedAverageDiscountRatePercent', window );">Operating Lease, Weighted Average Discount Rate, Percent</a></td>
<td class="nump">7.60%<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="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 );">Operating Lease, Payments</a></td>
<td class="nump">$ 111,770<span></span>
</td>
<td class="nump">109,151<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability', window );">Right-of-Use Asset Obtained in Exchange for Operating Lease Liability</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">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_FinanceLeaseRightOfUseAsset', window );">Finance Lease, Right-of-Use Asset, after Accumulated Amortization</a></td>
<td class="nump">$ 126,593<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 126,593<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 141,342<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList', window );">Finance Lease, Right-of-Use Asset, Statement of Financial Position [Extensible Enumeration]</a></td>
<td class="text">Other assets, net<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">Other assets, net<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">Other assets, net<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityCurrent', window );">Finance Lease, Liability, Current</a></td>
<td class="nump">$ 38,357<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 38,357<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 37,459<span></span>
</td>
</tr>
<tr class="re">
<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 );">Finance Lease, Liability, Noncurrent</a></td>
<td class="nump">$ 74,046<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 74,046<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 93,451<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList', window );">Finance Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration]</a></td>
<td class="text">Accounts payable and accrued expenses<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">Accounts payable and accrued expenses<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">Accounts payable and accrued expenses<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList', window );">Finance Lease, Liability, Noncurrent, Statement of Financial Position [Extensible Enumeration]</a></td>
<td class="text">Other noncurrent liabilities<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">Other noncurrent liabilities<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">Other noncurrent liabilities<span></span>
</td>
</tr>
<tr class="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 Expense</a></td>
<td class="nump">$ 1,409<span></span>
</td>
<td class="nump">1,840<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,927<span></span>
</td>
<td class="nump">$ 3,784<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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, Right-of-Use Asset, Amortization</a></td>
<td class="nump">$ 7,374<span></span>
</td>
<td class="nump">7,374<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 14,749<span></span>
</td>
<td class="nump">14,749<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeFinanceLeaseRemainingLeaseTerm', window );">Lessee, Finance Lease, Remaining Lease Term</a></td>
<td class="text">28 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">28 months<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_LesseeFinanceLeaseDiscountRate', window );">Lessee, Finance Lease, Discount Rate</a></td>
<td class="nump">4.75%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4.75%<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_FinanceLeasePrincipalPayments', window );">Finance Lease, Principal Payments</a></td>
<td class="nump">$ 9,309<span></span>
</td>
<td class="nump">$ 8,878<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 18,507<span></span>
</td>
<td class="nump">$ 17,652<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_LeaseContractualTermAxis=occ_OperatingLeaseForOfficeManufacturingAndWarehouseSpaceInPlanoTexasMember', window );">Operating Lease for Office, Manufacturing and Warehouse Space in Plano, Texas [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AreaOfRealEstateProperty', window );">Area of Real Estate Property | ft&#178;</a></td>
<td class="nump">34,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">34,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeaseContractualTermAxis=occ_OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember', window );">Operating Lease for Warehouse Space in Roanoke, Virginia [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AreaOfRealEstateProperty', window );">Area of Real Estate Property | ft&#178;</a></td>
<td class="nump">36,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">36,000<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_LesseeOperatingLeaseTermOfContract', window );">Lessee, Operating Lease, Term of Contract</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 years<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_LeaseContractualTermAxis=occ_OperatingLeaseForOfficeEquipmentMember', window );">Operating Lease For Office Equipment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseTermOfContract', window );">Lessee, Operating Lease, Term of Contract</a></td>
<td class="text">60 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">60 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AreaOfRealEstateProperty">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of a real estate property.</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_AreaOfRealEstateProperty</td>
</tr>
<tr>
<td style="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:areaItemType</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_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_FinanceLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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>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_FinanceLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates line item in statement of financial position that includes current 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/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>enum2:enumerationSetItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates line item in statement of financial position that includes noncurrent 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/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>enum2:enumerationSetItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_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_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_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates line item in statement of financial position that includes 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/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>enum2:enumerationSetItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeFinanceLeaseDiscountRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Discount rate used by lessee to determine present value of finance lease payments.</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 3<br> -Subparagraph (c)(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_LesseeFinanceLeaseDiscountRate</td>
</tr>
<tr>
<td style="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_LesseeFinanceLeaseRemainingLeaseTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Remaining lease term of 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/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/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(1)<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_LesseeFinanceLeaseRemainingLeaseTerm</td>
</tr>
<tr>
<td style="padding-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_LesseeOperatingLeaseTermOfContract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Term of lessee's 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/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseTermOfContract</td>
</tr>
<tr>
<td style="padding-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_OperatingLeaseExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of operating lease expense. Excludes sublease income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates line item in statement of financial position that includes current operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>enum2:enumerationSetItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates line item in statement of financial position that includes noncurrent operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>enum2:enumerationSetItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<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>
<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_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates line item in statement of financial position that includes operating 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/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>enum2:enumerationSetItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average discount rate for operating lease calculated at point in time.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in right-of-use asset obtained in exchange for operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseContractualTermAxis=occ_OperatingLeaseForOfficeManufacturingAndWarehouseSpaceInPlanoTexasMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LeaseContractualTermAxis=occ_OperatingLeaseForOfficeManufacturingAndWarehouseSpaceInPlanoTexasMember</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_LeaseContractualTermAxis=occ_OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LeaseContractualTermAxis=occ_OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember</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_LeaseContractualTermAxis=occ_OperatingLeaseForOfficeEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LeaseContractualTermAxis=occ_OperatingLeaseForOfficeEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<FILENAME>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140690898617312">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 7 - Leases - Future Payments Due (Details)<br></strong></div></th>
<th class="th" colspan="2">
<div>Apr. 30, 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_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear', window );">2024, Operating Lease</a></td>
<td class="nump">$ 225,340<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear', window );">2024, Financing Lease</a></td>
<td class="nump">21,434<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2025, Operating Lease</a></td>
<td class="nump">177,997<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="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, Financing Lease</a></td>
<td class="nump">42,868<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo', window );">2026, Operating Lease</a></td>
<td class="nump">63,644<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<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, Financing Lease</a></td>
<td class="nump">55,714<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></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_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Total undiscounted lease payments, Operating Lease</a></td>
<td class="nump">466,981<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></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 undiscounted lease payments, Financing Lease</a></td>
<td class="nump">120,016<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount', window );">Present value discount, Operating Lease</a></td>
<td class="num">(27,462)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount', window );">Present value discount, Financing Lease</a></td>
<td class="num">(7,613)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="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 );">Total lease liability, Operating Lease</a></td>
<td class="nump">439,519<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="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 );">Total lease liability, Financing Lease</a></td>
<td class="nump">$ 112,403<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr><td colspan="3"></td></tr>
<tr><td colspan="3"><table class="outerFootnotes" width="100%"><tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top">Remaining six months of fiscal year 2024.</td>
</tr></table></td></tr>
</table>
<div style="display: none;">
<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_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_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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 remainder of current fiscal year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_FinanceLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for 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_FinanceLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_LesseeOperatingLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140691080176672">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 9 - Net Income (Loss) Per Share (Details Textual) - shares<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Apr. 30, 2024</div></th>
<th class="th"><div>Apr. 30, 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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount</a></td>
<td class="nump">141,723<span></span>
</td>
<td class="nump">141,723<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></div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>47
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140690988199440">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 9 - Net Income (Loss) Per Share - Components of Reconciliation of Numerators and Denominators Net Loss Per Share (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="4">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Apr. 30, 2024</div></th>
<th class="th"><div>Jan. 31, 2024</div></th>
<th class="th"><div>Apr. 30, 2023</div></th>
<th class="th"><div>Jan. 31, 2023</div></th>
<th class="th"><div>Apr. 30, 2024</div></th>
<th class="th"><div>Apr. 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_us-gaap_NetIncomeLoss', window );">Net loss</a></td>
<td class="num">$ (1,601,346)<span></span>
</td>
<td class="num">$ (1,425,274)<span></span>
</td>
<td class="nump">$ 2,423,087<span></span>
</td>
<td class="nump">$ 809,984<span></span>
</td>
<td class="num">$ (3,026,620)<span></span>
</td>
<td class="nump">$ 3,233,071<span></span>
</td>
</tr>
<tr class="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 );">Shares (denominator) (in shares)</a></td>
<td class="nump">7,710,801<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,867,755<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,731,605<span></span>
</td>
<td class="nump">7,880,685<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Net income (loss) per share: Basic and diluted (in dollars per share)</a></td>
<td class="num">$ (0.21)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (0.39)<span></span>
</td>
<td class="nump">$ 0.41<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_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_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_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>48
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140690986806816">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 10 - Segment Information and Business and Credit Concentrations (Details Textual)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Apr. 30, 2024</div></th>
<th class="th"><div>Apr. 30, 2023</div></th>
<th class="th"><div>Apr. 30, 2024</div></th>
<th class="th"><div>Apr. 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_us-gaap_NumberOfReportableSegments', window );">Number of Reportable Segments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember', window );">Customer Concentration Risk [Member] | Revenue Benchmark [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>
</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_occ_ConcentrationRiskNumberOfCustomers', window );">Concentration Risk, Number of Customers</a></td>
<td class="nump">1<span></span>
</td>
<td class="nump">1<span></span>
</td>
<td class="nump">1<span></span>
</td>
<td class="nump">1<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember', window );">Customer Concentration Risk [Member] | Revenue Benchmark [Member] | One Customer [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>
</tr>
<tr class="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">16.30%<span></span>
</td>
<td class="nump">17.70%<span></span>
</td>
<td class="nump">15.90%<span></span>
</td>
<td class="nump">16.30%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_occ_ConcentrationRiskNumberOfCustomers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 customers for a concentration risk benchmark.</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;">occ_ConcentrationRiskNumberOfCustomers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>occ_</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_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_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_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_srt_MajorCustomersAxis=occ_OneCustomerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=occ_OneCustomerMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<FILENAME>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140690901869392">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 11 - Revenue Recognition (Details Textual) - USD ($)<br></strong></div></th>
<th class="th"><div>Apr. 30, 2024</div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiability', window );">Contract with Customer, Liability</a></td>
<td class="nump">$ 180,431<span></span>
</td>
<td class="nump">$ 110,336<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerRefundLiability', window );">Contract with Customer, Refund Liability</a></td>
<td class="nump">$ 133,201<span></span>
</td>
<td class="nump">$ 252,264<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_ContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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.</p></div>
<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_ContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ContractWithCustomerRefundLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 for consideration received or receivable from customer which is not included in transaction price, when consideration is expected to be refunded to 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/2009/role/commonPracticeRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 27<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-27<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerRefundLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>50
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140691012707824">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 11 - Revenue Recognition - Schedule of Revenue from External Customers by Geographical Areas (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Apr. 30, 2024</div></th>
<th class="th"><div>Apr. 30, 2023</div></th>
<th class="th"><div>Apr. 30, 2024</div></th>
<th class="th"><div>Apr. 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_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net sales</a></td>
<td class="nump">$ 16,112,098<span></span>
</td>
<td class="nump">$ 19,619,536<span></span>
</td>
<td class="nump">$ 30,966,863<span></span>
</td>
<td class="nump">$ 37,903,211<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_US', window );">UNITED STATES</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">13,024,311<span></span>
</td>
<td class="nump">15,829,216<span></span>
</td>
<td class="nump">24,993,866<span></span>
</td>
<td class="nump">30,407,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_StatementGeographicalAxis=us-gaap_NonUsMember', window );">Non-US [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>
</tr>
<tr class="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">$ 3,087,787<span></span>
</td>
<td class="nump">$ 3,790,320<span></span>
</td>
<td class="nump">$ 5,972,997<span></span>
</td>
<td class="nump">$ 7,495,910<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_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_srt_StatementGeographicalAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=us-gaap_NonUsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=us-gaap_NonUsMember</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>51
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( /%CRE@'04UB@0   +$    0    9&]C4')O<',O87!P+GAM
M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG
M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGD<Z,STA)8*O4'J@)I9GF
M3?X.CD:?<@X>K7A.YNJQ<&4GPZ4A!0W_<FW>J=0U[R;UEA_6\#MI7E!+ P04
M    " #Q8\I8W7SC2^X    K @  $0   &1O8U!R;W!S+V-O<F4N>&ULS9+!
M2L0P$(9?17)OIVFE2.CFLN))07!!\1:2V=U@DX9DI-VWMXV[740?P&-F_GSS
M#4RG@]!#Q.<X!(QD,=U,KO=)Z+!A1Z(@ )(^HE.IG!-^;NZ'Z!3-SWB H/2'
M.B#45=6"0U)&D8(%6(25R&1GM- 1%0WQC#=ZQ8?/V&>8T8 ].O24@)<<F%PF
MAM/4=W %+##"Z-)W <U*S-4_L;D#[)R<DEU3XSB68Y-S\PX<WIX>7_*ZA?6)
ME-<X_TI6T"G@AETFOS;;^]T#DW55WQ956_!JQUO1<,'OWA?7'WY783<8N[?_
MV/@B*#OX=1?R"U!+ P04    " #Q8\I8F5R<(Q &  "<)P  $P   'AL+W1H
M96UE+W1H96UE,2YX;6SM6EMSVC@4?N^OT'AG]FT+QC:!MK03<VEVV[29A.U.
M'X416(UL>621A'^_1S80RY8-[9)-NIL\!"SI^\Y%1^?H.'GS[BYBZ(:(E/)X
M8-DOV]:[MR_>X%<R)!%!,!FGK_# "J5,7K5::0##.'W)$Q+#W(*+"$MX%,O6
M7.!;&B\CUNJTV]U6A&ELH1A'9&!]7BQH0-!445IO7R"TY1\S^!7+5(UEHP$3
M5T$FN8BT\OELQ?S:WCYES^DZ'3*!;C ;6"!_SF^GY$Y:B.%4PL3 :F<_5FO'
MT=)(@(+)?90%NDGVH],5"#(-.SJ=6,YV?/;$[9^,RMIT-&T:X./Q>#BVR]*+
M<!P$X%&[GL*=]&R_I$$)M*-IT&38]MJND::JC5-/T_=]W^N;:)P*C5M/TVMW
MW=..B<:MT'@-OO%/A\.NB<:KT'3K:28G_:YKI.D6:$)&X^MZ$A6UY4#3( !8
M<';6S-(#EEXI^G64&MD=N]U!7/!8[CF)$?[&Q036:=(9EC1&<IV0!0X -\31
M3%!\KT&VBN#"DM)<D-;/*;50&@B:R('U1X(AQ=RO_?67N\FD,WJ=?3K.:Y1_
M::L!I^V[F\^3_'/HY)^GD]=-0LYPO"P)\?LC6V&')VX[$W(Z'&="?,_V]I&E
M)3+/[_D*ZTX\9Q]6EK!=S\_DGHQR([O=]EA]]D]';B/7J<"S(M>41B1%G\@M
MNN01.+5)#3(3/PB=AIAJ4!P"I DQEJ&&^+3&K!'@$WVWO@C(WXV(]ZMOFCU7
MH5A)VH3X$$8:XIQSYG/1;/L'I4;1]E6\W*.76!4!EQC?-*HU+,76>)7 \:V<
M/!T3$LV4"P9!AI<D)A*I.7Y-2!/^*Z7:_IS30/"4+R3Z2I&/:;,CIW0FS>@S
M&L%&KQMUAVC2/'K^!?F<-0H<D1L= F<;LT8AA&F[\!ZO)(Z:K<(1*T(^8ADV
M&G*U%H&V<:F$8%H2QM%X3M*T$?Q9K#63/F#([,V1=<[6D0X1DEXW0CYBSHN0
M$;\>ACA*FNVB<5@$_9Y>PTG!Z(++9OVX?H;5,VPLCO='U!=*Y \FIS_I,C0'
MHYI9";V$5FJ?JH<T/J@>,@H%\;D>/N5Z> HWEL:\4*Z">P'_T=HWPJOX@L Y
M?RY]SZ7ON?0]H=*W-R-]9\'3BUO>1FY;Q/NN,=K7-"XH8U=RS<C'5*^3*=@Y
MG\#L_6@^GO'M^MDDA*^:62TC%I!+@;-!)+C\B\KP*L0)Z&1;)0G+5--E-XH2
MGD(;;NE3]4J5U^6ON2BX/%ODZ:^A=#XLS_D\7^>TS0LS0[=R2^JVE+ZU)CA*
M]+',<$X>RPP[9SR2';9WH!TU^_9==N0CI3!3ET.X&D*^ VVZG=PZ.)Z8D;D*
MTU*0;\/YZ<5X&N(YV02Y?9A7;>?8T='[Y\%1L*/O/)8=QXCRHB'NH8:8S\-#
MAWE[7YAGE<90-!1M;*PD+$:W8+C7\2P4X&1@+: '@Z]1 O)256 Q6\8#*Y"B
M?$R,1>APYY=<7^/1DN/;IF6U;J\I=QEM(E(YPFF8$V>KRMYEL<%5'<]56_*P
MOFH]M!5.S_Y9K<B?#!%.%@L22&.4%Z9*HO,94[[G*TG$53B_13.V$I<8O./F
MQW%.4[@2=K8/ C*YNSFI>F4Q9Z;RWRT,"2Q;B%D2XDU=[=7GFYRN>B)V^I=W
MP6#R_7#)1P_E.^=?]%U#KG[VW>/Z;I,[2$R<><41 71% B.5' 86%S+D4.Z2
MD 83 <V4R43P H)DIAR F/H+O?(,N2D5SJT^.7]%+(.&3E[2)1(4BK ,!2$7
M<N/O[Y-J=XS7^BR!;814,F35%\I#B<$],W)#V%0E\Z[:)@N%V^)4S;L:OB9@
M2\-Z;ITM)__;7M0]M!<]1O.CF> >LX=SFWJXPD6L_UC6'ODRWSEPVSK> U[F
M$RQ#I'[!?8J*@!&K8KZZKT_Y)9P[M'OQ@2";_-;;I/;=X Q\U*M:I60K$3]+
M!WP?D@9CC%OT-%^/%&*MIK&MQMHQ#'F 6/,,H68XWX=%FAHSU8NL.8T*;T'5
M0.4_V]0-:/8--!R1!5XQF;8VH^1."CS<_N\-L,+$CN'MB[\!4$L#!!0    (
M /%CREB_@4\\W04  /4>   8    >&PO=V]R:W-H965T<R]S:&5E=#$N>&UL
MM9EK;]LV%(;_"N$"10O$L439<=PF!APEZ;REB6MG';IA'QB)MH5(I$=1N?S[
M'4JVE&34L2?4'Q+K=E[QX>'E%7GR*-5]NN1<DZ<D%NEI:ZGUZE.GDP9+GK#T
M4*ZX@#MSJ1*FX50M.NE*<1;F04G<H8YSU$E8)%K#D_S:1 U/9*;C2/")(FF6
M)$P]G_%8/IZVW-;FPC1:++6YT!F>K-B"S[C^?351<-8I5<(HX2*-I""*ST];
M(_>3[U$3D#_Q/>*/Z8MC8E#NI+PW)^/PM.68$O&8!]I(,/AYX#Z/8Z,$Y?AG
M+=HJWVD"7QYOU"]S>("Y8RGW9?Q'%.KE:>NX14(^9UFLI_+Q%[X&ZAF]0,9I
M_I\\%L_V:(L$6:IEL@Z&$B21*'[9T[HB7@30?DT 70?0-P%NMR; 6P=X.6A1
MLASKG&DV/%'RD2CS-*B9@[QN\FB@B81)XTPKN!M!G!Z>RR"#K&@R$B&Y$#K2
MSV0LBN9AJKE-TB53/#WI:'B;B>D$:^6S0IG6*'ODJQ1ZF8)JR,/7\1TH95E4
MNBGJ&44%1RMU2#SG@%"'=BWE\?'P7S-Q2)RN+?Q5<;RRYKQ<S]M6<R^KZZ\K
M>(J,-4_2OVU55DAV[9*FRWY*5RS@IRWHDRE7#[PU?/_./7(^VWA_DM@K^FY)
MW\74*_K;YQ6WD>+AKM/^9D-"HQHB]4JDWFY(WS*F-%?Q,YGRE53:AH=+:979
M*L5'HQKB'95X1[OA3;B*I.GL(8$APYH\7*GLB+4]$8UOR-DO.?L[MDS%8+;)
MNV5]'G&M.8M3:R+1L(: QR7@,5JH]2A]&<6<7&?)'5<V,%S#:=.^0ZD-#0UL
MB#8HT0:[H$WY(DHUI$^3:Y986RBN<S.Y'?NC*^*/SJXNB'\SG=Q,1[?CFVL;
M,"K5$-AUJOG7V05Y+ *IH)'FT\@!F6GHF40JXLM,:/4,OZ&U'K:H?Q_9B/&@
MIL@O+(>["_(M>R+C$'IJ-(^"8OJL;\Y;)'O=MDN]OM.U-FD\N"DOK7CI+KRC
M, 3U]&!S0'*O<"/L><4E>W3@0)N 1I.IE)-S!5[82H[*-"6O+)*+>I#_D/OF
M#%KUK7P45FI<;BJ9D/=VT'V8(;=R0R[N9]Z"EOUWHN1#) )[CG'-FKZ[#XOD
M5A[)Q9W-6]")3#6+R9_1JGZ(PA5IUW$'5M)]N"6WLDLN[G+RMCJ"3^-Z,%R@
MUW6L6/LP1V[ECES<TES) /(U64J!N8<M(O2H]_[=,74&GYVC@9UR'P[)K2R2
MB_N;VTB#.Y)SXM(/=Q_)C >9@GQ:47$E7R8)S$PS+8/[ R(D63%%'EAL-_BX
M6%/LRCZYN.\!RQM&8D%FS\F=C*VT6XR3[UNQ]N&1:.61*.YB-NDC%T_!DHD%
MK[6%6X2N1[/SD?7#$P]L2EA9(KJ3)?(SI<RG2_&]DF<2)I+,NOJR1?&'=<W&
MQZ.:<E96B.YDA<8"OJ^+%3SS#<HVX%9.7+&.<Q_&AU;&A^YD?,PW&GAX\ (+
MJ:RCSQ:=:RG:+ @XR(!(6 A:>??A?VCE?^A._F>6L#@F9UD*MU-[J\5UZA9.
M\+"F>)7KH3NYGHN$JX7IE5] 02_!&"0K)NQYQ05K%Q;PN*:@E>FAN&?9Y'')
M(8\8'BY3C[</\T,K\T-QW[(99E_-Z;-\@9O<9!JLK,CGSP^16*][?[32_R1S
MLZZ30JV7JYEMEX=A_WA N_W>2>?!AENY(+K32I$/(ZL"TS<6(7\BOW%[1K<L
M&#F."W_4L[H]/+AI6BO;0W'7LIDV+Z/4F-L?'"P:MKRY1:[==IVVYUI!]V&$
MO,H(>;A_*=<V7Y)>PD7K6+M%K&[Q%@]KREA9(0\W+F\9U\O5]92XW#?KBA >
MU)2QLD$>;EI& !@6D#%;6*EP@=H!%H_[OV"=%QN+9N[+]UM3$IA%R6*/L;Q:
M[NF.\IW,3O5XL2'\E9FI,R4QGT.H<]B'\4X5>ZS%B9:K?)OR3FHMD_QPR5G(
ME7D [L^EU)L3\X)RIWOX+U!+ P04    " #Q8\I8.O5PJF,&  !\&0  &
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
M B*5OTV>E/5?YZ&Q=6?.YJ[D>=H,%BM(X^SP&7UMA#@: - S )H!T!W@]PS
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
M$Y3Q%=OD^IM\_CO?&108?:G,Z^9_]+R3]28HW=1:%KO%@* 09?O)?NP<<;0
M]-@7D-T"TE_@CRR@NP6T,;1%UICUB6DVOU;R&2DC#=K,0>.;9C58(TH3QD>M
MX%L!Z_1\(<L,@L(S!$>US$7&-)P\:OB :.D:R15:L'J-/D/$:W3QO62;3(#,
M)9JB[X^?T,6?+Z]G&J 8A;-T=]N[]K9DY+8A^BI+O:[1W^#VV>GZ&9APL(/L
M[;@C3H6WE?J(J/<!$8_X%CR+MR^G#CCTX%;:Z*-C;C4>6S4>6RE9($@[Q;0H
MG]I]*[3@]97-;:U:WZ[6Y/157;&4WTP@:6NNMGPR_\N?<.C]U6;SF92=>, _
M>,!W:9__#"5(E*DL.+K(95U;-TFK(FQ4F(*SG4^I1\*0>->S[;$E0T%**/4B
M?) [ 1D<0 ;.,-UF_X44:_>YEE"64EFF(N>H[*,W7YN+J0ELI>16P+Y%RQ=T
ML3')(\K+M\<X.&>,SZ3LQ'WAP7VA,\:?."A-!6L+<IDA5DBEQ?^:"S;+6W7!
M41A]BGWL]Z)M$4O",!P)=G1 &SG1WK$,"OQ2(_ZC,B4/79AX;[EZL>[-: !B
MBL.$Q#VL0S'L)T%BAQH?H,9.J(]KIOC4T%.&8!,:N*V3=]!M>.,!$!)X44)Z
M>"UB<1+&GAUP<@"<. '_! T# GRBK#>*E2DW.9)RGM4?3-K8\"9#_Q(<)UX?
ML$4.XA"29 0R]CKJ\YR@OT!B&]"9J"M9L]Q0'<"&--8OS7;FOVU$9:J#E>"\
M ; H"7O@+4+8@[HU OV(M;&S<%W<ERET;36_A"W='H'OK=5FI^E,Y>9<VD[M
M)IW=Q!FR?RB6<:BOJ=R8F@T)S,66+7-K1NQTG=01/XQ]V@_24&Y*@RBA9"1,
M71> G10[_T6ON3I"65MATL'M:>P'M,^!%CF &8=CFZEC:NRFZOMR"WM<*C&"
MSQ^6#!(E23  .!2<4BC;.(E'('8\C9T\-G]0O&(BV]>_NDE/V7B7U377=N#!
M,/DP#L(![J%<[(7>6/0[=L1N>OSE-7Q#GB,>3DB?#BUR4Z@BQX:<(NP8$4?.
M,K*O(NAB7T4N1\N(DUS?74;.I.W4[HY>L9M?;_<%I&(O)B_;YB5-U89W>\SJ
MA2%]3GT:!C3HQ\PBB#V" W\D9AW38C?5WNY@GO0%!C_8HF2>(\U^C("W4:X'
M W_4!S\4!&K&X4@:DXYQB9MQ[]N6ND&X][T-*;'09CN9G>"TB 4!)2/-%^G8
ME3A9;)>X)<P"&Z6@-*)<L*7(FX[>"A?;@AV2P:ZP"(;0I(WYM:-%XJ;%G]\_
MF5CM&!(AQB3T!F98"!.Z7FCEPQ%+.L8D[QN<!7!3_9:ABIQU<CZ7ME,O=(Q,
MW(S\L%'IVM1EZ$A-:F<<&E0!]6HE%8+-B:HC@;>WK,1"T+!)XV%B604]$HQP
M(NF(G+B)_/[M P(9TK)U0+#(.0<$TA$X<1/X?;/YC#=A'\*?9N63:.ABE-/)
MD*O[[89%9(J39*2-(QV9$_=\^TH1L&62U8*1P1?WS;!-OJ'O^2-C.NG8F<3O
MJ@$K4<*.>4L-<++^NVO F;2=>J'C>>+F^8=C.D?/0J_7/,^:)%>\$-H\I@7F
MKX\>%0"C-L^RK+ZQS=%>=/Q496>V31 '<3 25]JQ/W6S_X,2$,8*!NT]4&-
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
M=A\N*T_+PY7O(S-K@>4K^0JWQOVKRQZ8<(T* Z=+?W59:H<7(?^8X\V3&UJ
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
M#OL?SWJI ;0/T57\!CYS$>_S_)4N7LK3 >S/'=Y8F@<RT/TD<_,G4$L#!!0
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
MEDII*(ILGK^6AOG5/)LO%]]-PSA(6_.4'B9E?V8X2 =N!!K1J$2\ Z0.FU+
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
MB0+WADW+=:?=P)HW??KLWDR[&R*-.@4,-R8TO+@<>B";"=)LM*A<UZZ%-C/
MF849NBBM@[G?"/-OMAN;H!OCZ1]02P,$%     @ \6/*6,3M<3FK @  D 4
M !D   !X;"]W;W)K<VAE971S+W-H965T,C(N>&UL?511;],P$'[OKS@%A$ *
M2V(G:3?:2.M@8@^#:AOL ?'@)M?6FF,'VUFW?X^==*%(75^2._N^[[ZS?3?=
M*OU@-H@6GFHAS2S86-N<19$I-U@S<Z(:E&YGI73-K'/U.C*-1E9UH%I$)([S
MJ&9<!L6T6UOH8JI:*[C$A0;3UC73SW,4:CL+DN!EX8:O-]8O1,6T86N\1?NC
M66CG10-+Q6N4ABL)&E>SX#PYFZ<^O@OXR7%K]FSPE2R5>O#.534+8B\(!9;6
M,S#W>\0+%,(3.1E_=IS!D-(#]^T7]LNN=E?+DAF\4.*>5W8S"R8!5+ABK; W
M:OL5=_5DGJ]4PG1?V/:Q61Q V1JKZAW8*:BY[/_L:7<.>X#):P"R Y!.=Y^H
M4_F9659,M=J"]M&.S1M=J1W:B>/27\JMU6Z7.YPMOBF+D,)'N)*/**W2' V\
MOV-+@>;#-+(NA0^,RAW=O*<CK]!1N%;2;@Q\D156_^,C)VW01U[TS<E1PO-&
MGP"-0R Q28_PT:%>VO'1(_4:Z.L[5%Z/3@^C?8><F8:5. M<"QC4CQ@4[]XD
M>?SIB+9TT)8>8R]N7<=5K4!0J^$ZGD.X:+5V-OSJ5,,=/EF8"U4^_#Y4P-$4
MAPMP9\R%/^31]]*J)6J@23CR!^X_='3))7<OK(*U4I6!MY"%>9J'DXQT]BD=
MA_F$C.Y=^P&7T&A5HC&0ADE,W>[$671,PM.$CF[8UKU>BYHS82!)0IIF83(F
MD- P<0K2\62TT*IJ^YXU;=,(_R+IJ=M+4J D"TE&1W?*,N&RDR1,)[FCS[U#
MPW'N')+#H=N(]KJD1KWN9H&!4K72]@TSK [CYKSOLG_A_:RZ9GK-I0&!*P>-
M3\99 +KO_]ZQJNEZ;JFLZ^#.W+B1B=H'N/V5<N]PY_@$PQ N_@)02P,$%
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
M*X;J;!)H<Z1-#/(.?M["QV_ )W KN"X57/,"B]?Y@:':\XV?^<[CHX"7M1Q
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
M(;-[A2S#:M=]3K/U>$UO4,LX:>Z<;]ZJZXSO\S[]Q]XK7=DJI=;*\-HG\)Z
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
M0AY\YGS#%H@]RZ.<W.ZJ6KT6=JA6(,&\[U.P#YEC )YC0XMNI447H*' RO%
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
MC4<W+KGNYK SK&I"*Z^5=8,1EK5[NE#[ +=?*=?.O>$3#(]A_AM02P,$%
M  @ \6/*6+FYWV)C P  ! L  !D   !X;"]W;W)K<VAE971S+W-H965T,S8N
M>&ULK59M;]LV$/XKA#H4#K!8U+OCV@;BV,XZK$&0H-MG1J)MH12IDG3<_OL=
M*46U%<;SMGZQQ>,]=\^]D+S)7L@O:DNI1M\JQM74VVI=CWU?Y5M:$344->6P
MLQ:R(AJ6<N.K6E)26%#%_!#CU*](R;W9Q,KNY6PB=IJ5G-Y+I'951>3W.65B
M/_4"[T7P4&ZVV@C\V:0F&_I(]>?Z7L+*[ZP4946Y*@5'DJZGWG4PODV,OE7X
MLZ1[=?"-3"1/0GPQBX_%U,.&$&4TU\8"@;]G>D,9,X: QM?6IM>Y-,##[Q?K
M*QL[Q/)$%+T1[*^RT-NI-_)00==DQ_2#V/]&VW@LP5PP97_1OM7%'LIW2HNJ
M!0.#JN3-/_G6YN$  ';<@+ %A'U _ 8@:@'1N8"X!<3G I(6D)P;0]H"TG,]
M9"T@L\5JLFM+LR":S"92[)$TVF#-?-CZ6C14I.2F$Q^UA-T2<'IV)S1%5^@2
MW4'7?^2YJ"@:_"&4ND#W5*+'+9$4=F]$50M.N59(K-$#S07/2U82VTX@N=M5
M5!(MI$*$%VA!N0"RC<!8-A8/# X65).2@9-+]/EQ@0:_7$Q\#>$84G[>4I\W
MU,,WJ$?HD^!ZJ]"2%[1PX%>G\>D)O ]I['(9ON1R'IXT>%W+(8KPKRC$8>S@
M<W,:_COA  _>A"_.]QXYX,OSO;O@J_\7^^U_)G]4BJAKZ\C:B]]J:^@Y!CWG
MZJH&F5JDN:B?9Y=!BH,H3B?^\V&Y7(IQF(19?*RX>*T8QF&$1]FQWO*UW@A?
M78UZYE8.OQ$.TS3$QXJWKQ6C,(IP%G1Z1\F+N^3%)Y-GSZA"@^+'*;Y @Y(C
M93><1[6QF!Q0R;( CW#0R^E)S^;9':N:Y'3JP;NJJ'RFWNS].RC/!]>!<#@=
MI5F6)+V\_TRG*U>D$2CWG-ZZR(UP.DK<Q4FZXB3_V-EE>T\S>T_7<*W:RHS1
MG*@RMS=P4;*=IH4M6R$8(W 1=XK."C9NL\.NP\.P7[^3Y/YM_5Z[Q,.HYW'Y
M,SVNG$%&5[W2N7C%_4/E'SRZ\/AM[#RE4"YV7#<752?M1K9K.ZGTY/-@O P<
M\A6,>,U$]L-\,Q]^(G)3<H4878,K/,R L&QFKF:A16V?_">A88"PGUL84ZDT
M"K"_%O#LMPOCH!M\9W\#4$L#!!0    ( /%CREC- /)V& ,  #L,   9
M>&PO=V]R:W-H965T<R]S:&5E=#,W+GAM;+576V_3,!3^*U:0$$C0W'H9I8VT
M)D7L85!U7!X0#VYRVD1+[& [[9#X\=A.FK4E2S<(+VULG^\[M\_IZ61'V2V/
M 02ZRU+"IT8L1#XV31[&D&'>HSD0>;*F+,-"+MG&Y#D#'&E0EIJ.90W-#"?$
M\"9Z;\&\"2U$FA!8,,2++,/LYPQ2NIL:MK'?6":;6*@-TYOD> ,W(#[G"R97
M9LT2)1D0GE""&*RGQJ4]GH^4O3;XDL".'SPCE<F*TENUN(JFAJ4"@A1"H1BP
M_-J"#VFJB&08/RI.HW:I@(?/>_9W.G>9RPIS\&GZ-8E$/#4N#!3!&A>I6-+=
M>ZCR&2B^D*9<?Z)=96L9*"RXH%D%EA%D"2F_\5U5AP. Y&D&.!7 .07T'P"X
M%<!]K(=^!>@_UL.@ NC4S3)W7;@ "^Q-&-TAIJPEFWK0U==H6:^$*)W<""9/
M$XD3W@<J -D6>HUN8"/[+] 5*=6GVT@B-"NXQ'"N%SZ#*!'(IR24MDQ;<?0B
M (&3E*-/<"<*G+Z<F$+&ICR8817'K(S#>2 .%UU3(F*.YB2"J $?M..'+7A3
MUJ0NC+,OS,QI);S,60^YUBOD6$Z_(1[_\7"W*9U_\S[_:^]'Q7!KE;B:K_^0
M2HIL!0S1-5I"3IG JQ3V@N%-S6ZE4^^^,<]Q"%-#OMPXL"T8WO-G]M!ZVU3I
M+LF"DFR@R=1+=.O9$W-[6-J.W!T5NE\7NM]::%_?>%GJHQN&E@F_1=^N077A
M._HEN[ %4@": 0EC^7Z_/VQJ1JO+IS:C2[*@2[)Y1V1'?1O4?1NT]^V/=KU"
M]Y=FW]7&JS(X)TC_K$5PUF+>9G&4\;#.>/A_E2H//Q*H:].JX-90GJK@+LF"
M+LGF'9$=]7-4]W/T9 4O@*D].2\V-:7DNSB0E-6SA^Z)>!NM1J,3 3=:#=Z<
MB/B<QS)Q\V :DL+:Z#&4HY 61)0_>?5N/>E>Z@'O9']FCWV[83^0DW$YR-[3
MEV/U-6:;1 Y$*:RE*ZLWDA>.E:-JN1 TU[/8B@JI>OT8R^D>F#*0YVLJY[%J
MH1S4_Q>\WU!+ P04    " #Q8\I8AF82(QD"  #1!   &0   'AL+W=O<FMS
M:&5E=',O<VAE970S."YX;6R=5%UOFS 4_2L6VD,K=3&8)*LJ@M0239NTCRA9
MMV<'+L&JL9EM0OKO:QN*TC:IIKW$OO8]YYYS<TW22?6@*P"##C47>A%4QC0W
M&.N\@IKJB6Q V)M2JIH:&ZH=UHT"6GA0S3$)PSFN*1-!FOBSE4H3V1K.!*P4
MTFU=4_5X!UQVBR *G@_6;%<9=X#3I*$[V("Y;U;*1GAD*5@-0C,ID()R$=Q&
M-UGL\GW";P:=/MHCYV0KY8,+OA:+('2"@$-N' .URQXRX-P161E_!\Y@+.F
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
MO 63R5LP^3IK,FR/G9VS;>]DZZ(!O$%DY#N\B8AMTF"ZY,)PV?86/,^9?'3
M67E#I_8U<4_?CL]909?"W'9@1K;M;RSGRS+M1EW#0K2CMNVO,+THZ5Y?;"XN
M<[9B^:3MZOFT:0:V8;.V%Q .D:OF\B,8QV%^!# L#^8 XS@6EN=_FL\0G8_#
M,&]#+S)$.4.4XU@^9-)\L#Q^3FHO_TS3-(Z3!%O1R<3K8(*M6Y+ UZ^&>0,&
ME@<R_=E:X[N-5\C3=8#MZ5,5@LT4KT1LIOA: ^)?-V"DJ7^WL3S P'8!JQW(
M[\\#->7GQ#'L*N8->X)Q)$TQ!&K17Z-)@JQ. A___F!/21RGJ1\!S.\@CC$$
MGD8<P1R !PR)X^8</#B/PLTY%6Y_.QG_!E!+ P04    " #Q8\I8EXJ[',
M   3 @  "P   %]R96QS+RYR96QSG9*Y;L,P#$!_Q=">, ?0(8@S9?$6!/D!
M5J(/V!(%BD6=OZ_:I7&0"QEY/3P2W!YI0.TXI+:+J1C]$%)I6M6X 4BV)8]I
MSI%"KM0L'C6'TD!$VV-#L%HL/D N&6:WO606IW.D5XA<UYVE/=LO3T%O@*\Z
M3'%":4A+,P[PS=)_,O?S##5%Y4HCE5L:>-/E_G;@2=&A(E@6FD7)TZ(=I7\=
MQ_:0T^FO8R*T>EOH^7%H5 J.W&,EC'%BM/XU@LD/['X 4$L#!!0    ( /%C
MREC[#;'(P ,  +(:   /    >&PO=V]R:V)O;VLN>&ULQ9E;;]HP%(#_BI6G
M[J&#.)1>-"9U[2Y(78?:JGN<3'( JXZ-;*>L^_4[#D)SNN5H+Y@GB&V<+R?D
M?#[.NXVQ3W-CGMC/6FDWR5;>KR\& U>NH!;NK5F#QIZ%L;7P>&B7 [>V("JW
M O"U&O#A<#RHA=39^W>[N69V$!\8#Z671F-C:'B4L'%_^L,A>Y9.SJ62_F62
MM=\59*R66M;R%U23;)@QMS*;+\;*7T9[H>Y+:Y2:9/FVXQ&LE^5?S?<!\D',
M7=OBQ?Q.(,@D&P]QPH6TSK<CVOD%,CX##MX>-=Y\DLJ#O18>/EO3K*5>AFGP
M*@;19;1QV'UN@WAA_R>,9K&0)5R;LJE!^VT<+:@ J-U*KEW&M*AADNV&L$M=
ML8_:8Y#85&^GPK'A2O'4TVI[U1YQHQC:"XD==EJUX/N#O#*Z NV@8OC-&24K
MY*C8!Z&$+H%%D)R Y >$_,$CR(* + X">1]P\*<1Y(B '!T0LA/)$P+RY)"0
M100Y)B#'^X6\Q>S(<G;,/H,&*U1$=4I0G2:@XDAU[TWYA.FFQ/&8'MD,'Q47
M/\YG!.19 L@"(2^5,ILVS^ \[,I")3V[B2#/"<CS!) CA)SJ9QR) @,7I^PA
ME;.'"=A.D T=736E9]^%M0)O=!>1U,J>O=(BCA'QQNCE,>JX9M<P]TR@"[$O
MQJ3$DN_9+"WF:< $X;K1HU22[]DE+=898GT2TK)'H1I@7Y&PL4$EG>A1,LGW
M;),6\QPQ;_$$F&M,#>SHQCCWALW QMDFIW22[]DGVU0]#%D1ENV*+%J&,1%C
M4D+)DQ@E*.4.,.7@+;^#TBRU?+U:I/R2IQ!,'@R#;O:XM 9=ODH[E%GR%&K)
MB_8ON6&796F:EC(L'G35N=646_(]RV6JG:SP"7FPH@ITER%]+]MG.PXEIR3#
M4TBFS]*=I2*G1,-3B.:5I]D1EH,*W)L8DJQ?4FCFW\(.K#$FI1V>0CM_;/C/
M,%*^X8?T3?<O2?F&)_%-3R)G1S$FY1N>PC=]M4(WFI1Q> KC].:AN!KDE'EX
M"O.\SD/!DO7:Z$[YSRGS\!1E35\FNH9X*X623W&X"B<$-<:DY%,<LLKI;DQ1
M^BG25CGA1GLAE6,/\-,WL7X*<@,ML7ZP_&D\ECQL)EZZ.V@%9:'BH!:*$U)!
M6:A(8:%>S%&,25FH2%+U]!1GW4>(LE"1I.[I<7H7D[)0D:3^Z5MZ',>8E(6*
MUD*#W3N2"A920W6+IW#87@I5SBP+']L-G-%)J*86C5)7V/9-WQA1[5ZY[%X7
MO?\-4$L#!!0    ( /%CREA N\,MAP$  +P7   :    >&PO7W)E;',O=V]R
M:V)O;VLN>&UL+G)E;'/-V,MNPC 0A>%707D G)GA6@&K;MA6O$ $YB)R4^RJ
M\/:-8 $'==$-\EE%MI7)O_H4>?'ERR*>FCH<3VT87*JR#LOL&&/[X5S8'GU5
MA&'3^KH_V3==5<1^V1U<6VS/Q<$[S?.)ZYYG9*O%\\S!YMKZ_TQL]OO3UG\V
MV^_*U_&/P>ZGZ<[AZ'W,!INB._BXS-RE?&P'=WO(L)^<#=:[9=:M=Y*YU$$*
M09H^R"#(T@>-(&B4/F@,0>/T01,(FJ0/FD+0-'W0#()FZ8/F$#1/'R0YRI@3
M)+U@3:"U(-="X+4@V$(@MB#90F"V(-I"H+8@VT+@MB#<0B"W(-U"8+<@WD*@
MMZ+>2J"WHMY*H+>^_&P3Z*VHMQ+HK:BW$NBMJ+<2Z*VHMQ+HK:BW$NBMJ+<2
MZ*VHMQ+H;:BW$>AMJ+<1Z&VHMQ'H;2^7)01Z&^IM!'H;ZFT$>AOJ;01Z&^IM
M!'H;ZFT$>AOJ;>_4.\1KZ<.CY[[&V\AW4AW[=_WC\[?E?1-Q'MUP=G!9O_H%
M4$L#!!0    ( /%CREC_>6J2GP$  !T8   3    6T-O;G1E;G1?5'EP97-=
M+GAM;,V9S6Z#,!"$7P5QC8)CNTU_E.32]MKFT!=P80DH@"W;29.WKR$_4JL4
M)4JES@4+O#LS>*7O )/WK2$7;>JJ<=.X\-X\,N;2@FKE$FVH"3NYMK7RX=8N
MF%'I4BV(B=%HS%+=>&K\T+<:\6SR3+E:53YZV83'KM3--+94N3AZVA6V7M-8
M&5.5J?)AGZV;[(?+<.^0A,ZNQA6E<8-0$+.3#NW.[P;[OK<U65MF%,V5]:^J
M#E5L4S'GMQ6YI%_B1$:=YV5*F4Y7=6A)G+&D,E<0^;I*=J*#?F<?3IAV5WZU
M?R?39Q@JYU8;%R9FZ7*[PTC:[J$)0F1]V?^*1\<@??7[43OMC+(SO</Q?FJ[
M[.;A6+=<?\;?9WS4OS"' ,DA07+<@.2X!<DQ!LEQ!Y+C'B3' T@./D()@D)4
MCH)4CL)4C@)5CD)5CH)5CL)5C@)6CD)6@4)6@4)6@4)6@4)6@4)6@4)6@4)6
M@4)6@4)6@4)6B4)6B4)6B4)6B4)6B4)6B4)6B4)6B4)6B4)6^9]D_=!Z^=<?
MK-LUJ579'/Q9]U=@]@502P$"% ,4    " #Q8\I8!T%-8H$   "Q    $
M            @ $     9&]C4')O<',O87!P+GAM;%!+ 0(4 Q0    ( /%C
MREC=?.-+[@   "L"   1              "  :\   !D;V-0<F]P<R]C;W)E
M+GAM;%!+ 0(4 Q0    ( /%CREB97)PC$ 8  )PG   3              "
M <P!  !X;"]T:&5M92]T:&5M93$N>&UL4$L! A0#%     @ \6/*6+^!3SS=
M!0  ]1X  !@              ("!#0@  'AL+W=O<FMS:&5E=',O<VAE970Q
M+GAM;%!+ 0(4 Q0    ( /%CRE@Z]7"J8P8  'P9   8              "
M@2 .  !X;"]W;W)K<VAE971S+W-H965T,BYX;6Q02P$"% ,4    " #Q8\I8
M2O^AJ0X#   R"@  &               @(&Y%   >&PO=V]R:W-H965T<R]S
M:&5E=#,N>&UL4$L! A0#%     @ \6/*6,%=.!.?!0  S!4  !@
M     ("!_1<  'AL+W=O<FMS:&5E=',O<VAE970T+GAM;%!+ 0(4 Q0    (
M /%CRE@H=3ZYC 8  #HJ   8              " @=(=  !X;"]W;W)K<VAE
M971S+W-H965T-2YX;6Q02P$"% ,4    " #Q8\I8!D(V*+P'  #/(0  &
M            @(&4)   >&PO=V]R:W-H965T<R]S:&5E=#8N>&UL4$L! A0#
M%     @ \6/*6"T,N6B2 @  F04  !@              ("!ABP  'AL+W=O
M<FMS:&5E=',O<VAE970W+GAM;%!+ 0(4 Q0    ( /%CREC9O<GMGP4  -<.
M   8              " @4XO  !X;"]W;W)K<VAE971S+W-H965T."YX;6Q0
M2P$"% ,4    " #Q8\I80U..'^,"  "3!@  &               @($C-0
M>&PO=V]R:W-H965T<R]S:&5E=#DN>&UL4$L! A0#%     @ \6/*6,,+VC?/
M @  Z 4  !D              ("!/#@  'AL+W=O<FMS:&5E=',O<VAE970Q
M,"YX;6Q02P$"% ,4    " #Q8\I8UG<)O:$#  "F"   &0
M@(%".P  >&PO=V]R:W-H965T<R]S:&5E=#$Q+GAM;%!+ 0(4 Q0    ( /%C
MRE@E55'U@ <  )X1   9              " @1H_  !X;"]W;W)K<VAE971S
M+W-H965T,3(N>&UL4$L! A0#%     @ \6/*6*_C5'\R!P  RA,  !D
M         ("!T48  'AL+W=O<FMS:&5E=',O<VAE970Q,RYX;6Q02P$"% ,4
M    " #Q8\I8ZQ1T$:H#   '"   &0              @($Z3@  >&PO=V]R
M:W-H965T<R]S:&5E=#$T+GAM;%!+ 0(4 Q0    ( /%CREB1P_DO500  #0*
M   9              " @1M2  !X;"]W;W)K<VAE971S+W-H965T,34N>&UL
M4$L! A0#%     @ \6/*6'D\[0/4 P  8@@  !D              ("!IU8
M 'AL+W=O<FMS:&5E=',O<VAE970Q-BYX;6Q02P$"% ,4    " #Q8\I8,'+>
MU\\'  #9$@  &0              @(&R6@  >&PO=V]R:W-H965T<R]S:&5E
M=#$W+GAM;%!+ 0(4 Q0    ( /%CREB*VC:FVP(  !<&   9
M  " @;AB  !X;"]W;W)K<VAE971S+W-H965T,3@N>&UL4$L! A0#%     @
M\6/*6"M5V&$8 P  )@<  !D              ("!RF4  'AL+W=O<FMS:&5E
M=',O<VAE970Q.2YX;6Q02P$"% ,4    " #Q8\I80CUJK98$  #=#0  &0
M            @($9:0  >&PO=V]R:W-H965T<R]S:&5E=#(P+GAM;%!+ 0(4
M Q0    ( /%CRE@IOK!@I (  -(%   9              " @>9M  !X;"]W
M;W)K<VAE971S+W-H965T,C$N>&UL4$L! A0#%     @ \6/*6,3M<3FK @
MD 4  !D              ("!P7   'AL+W=O<FMS:&5E=',O<VAE970R,BYX
M;6Q02P$"% ,4    " #Q8\I86%1VBLP"   X!@  &0              @(&C
M<P  >&PO=V]R:W-H965T<R]S:&5E=#(S+GAM;%!+ 0(4 Q0    ( /%CREA
M6I7:S0(  -T%   9              " @:9V  !X;"]W;W)K<VAE971S+W-H
M965T,C0N>&UL4$L! A0#%     @ \6/*6"' [=3* @  #08  !D
M     ("!JGD  'AL+W=O<FMS:&5E=',O<VAE970R-2YX;6Q02P$"% ,4
M" #Q8\I83,<A/,@"  #O!0  &0              @(&K?   >&PO=V]R:W-H
M965T<R]S:&5E=#(V+GAM;%!+ 0(4 Q0    ( /%CREAX]7/"UP0  .L:   9
M              " @:I_  !X;"]W;W)K<VAE971S+W-H965T,C<N>&UL4$L!
M A0#%     @ \6/*6-T:T\V? @  @ 8  !D              ("!N(0  'AL
M+W=O<FMS:&5E=',O<VAE970R."YX;6Q02P$"% ,4    " #Q8\I8?DA(M(0"
M  "4!@  &0              @(&.AP  >&PO=V]R:W-H965T<R]S:&5E=#(Y
M+GAM;%!+ 0(4 Q0    ( /%CREBM11)I+P,   X-   9              "
M@4F*  !X;"]W;W)K<VAE971S+W-H965T,S N>&UL4$L! A0#%     @ \6/*
M6,!H:E/3 @  W@<  !D              ("!KXT  'AL+W=O<FMS:&5E=',O
M<VAE970S,2YX;6Q02P$"% ,4    " #Q8\I8\[O"@2H&  #B)@  &0
M        @(&YD   >&PO=V]R:W-H965T<R]S:&5E=#,R+GAM;%!+ 0(4 Q0
M   ( /%CRE@3=CD+,P@  )1!   9              " @1J7  !X;"]W;W)K
M<VAE971S+W-H965T,S,N>&UL4$L! A0#%     @ \6/*6&C9I#XX P  _0H
M !D              ("!A)\  'AL+W=O<FMS:&5E=',O<VAE970S-"YX;6Q0
M2P$"% ,4    " #Q8\I8KRO?-#@"   8!0  &0              @('SH@
M>&PO=V]R:W-H965T<R]S:&5E=#,U+GAM;%!+ 0(4 Q0    ( /%CREBYN=]B
M8P,   0+   9              " @6*E  !X;"]W;W)K<VAE971S+W-H965T
M,S8N>&UL4$L! A0#%     @ \6/*6,T \G88 P  .PP  !D
M ("!_*@  'AL+W=O<FMS:&5E=',O<VAE970S-RYX;6Q02P$"% ,4    " #Q
M8\I8AF82(QD"  #1!   &0              @(%+K   >&PO=V]R:W-H965T
M<R]S:&5E=#,X+GAM;%!+ 0(4 Q0    ( /%CREAI3!B</ ,  %0+   9
M          " @9NN  !X;"]W;W)K<VAE971S+W-H965T,SDN>&UL4$L! A0#
M%     @ \6/*6/;EFCT; P  2!$   T              ( !#K(  'AL+W-T
M>6QE<RYX;6Q02P$"% ,4    " #Q8\I8EXJ[',     3 @  "P
M    @ %4M0  7W)E;',O+G)E;'-02P$"% ,4    " #Q8\I8^PVQR, #  "R
M&@  #P              @ $]M@  >&PO=V]R:V)O;VLN>&UL4$L! A0#%
M  @ \6/*6$"[PRV' 0  O!<  !H              ( !*KH  'AL+U]R96QS
M+W=O<FMB;V]K+GAM;"YR96QS4$L! A0#%     @ \6/*6/]Y:I*? 0  '1@
M !,              ( !Z;L  %M#;VYT96YT7U1Y<&5S72YX;6Q02P4&
/ "\ +P# #   N;T

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<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>53
<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>55
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.24.1.1.u2</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>77</ContextCount>
  <ElementCount>204</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>true</FootnotesReported>
  <SegmentCount>20</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>8</UnitCount>
  <MyReports>
    <Report instance="occ20240430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>000 - Document - Document And Entity Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20240430/role/statement-document-and-entity-information</Role>
      <ShortName>Document And Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="occ20240430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>001 - Statement - Condensed Consolidated Balance Sheets (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited</Role>
      <ShortName>Condensed Consolidated Balance Sheets (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="occ20240430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>002 - Statement - Condensed Consolidated Balance Sheets (Unaudited) (Parentheticals)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited-parentheticals</Role>
      <ShortName>Condensed Consolidated Balance Sheets (Unaudited) (Parentheticals)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="occ20240430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>003 - Statement - Condensed Consolidated Statements of Operations (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20240430/role/statement-condensed-consolidated-statements-of-operations-unaudited</Role>
      <ShortName>Condensed Consolidated Statements of Operations (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="occ20240430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>004 - Statement - Condensed Consolidated Statements of Shareholders' Equity (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20240430/role/statement-condensed-consolidated-statements-of-shareholders-equity-unaudited</Role>
      <ShortName>Condensed Consolidated Statements of Shareholders' Equity (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="occ20240430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>005 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited</Role>
      <ShortName>Condensed Consolidated Statements of Cash Flows (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="occ20240430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>006 - Disclosure - Note 1 - General</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20240430/role/statement-note-1-general</Role>
      <ShortName>Note 1 - General</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="occ20240430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>007 - Disclosure - Note 2 - Stock Incentive Plans and Other Share-based Compensation</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-</Role>
      <ShortName>Note 2 - Stock Incentive Plans and Other Share-based Compensation</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="occ20240430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>008 - Disclosure - Note 3 - Allowance for Credit Losses for Trade Accounts Receivable</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20240430/role/statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable</Role>
      <ShortName>Note 3 - Allowance for Credit Losses for Trade Accounts Receivable</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="occ20240430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>009 - Disclosure - Note 4 - Inventories</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20240430/role/statement-note-4-inventories</Role>
      <ShortName>Note 4 - Inventories</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="occ20240430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>010 - Disclosure - Note 5 - Product Warranties</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20240430/role/statement-note-5-product-warranties</Role>
      <ShortName>Note 5 - Product Warranties</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="occ20240430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>011 - Disclosure - Note 6 - Long-term Debt and Notes Payable</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable</Role>
      <ShortName>Note 6 - Long-term Debt and Notes Payable</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="occ20240430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>012 - Disclosure - Note 7 - Leases</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20240430/role/statement-note-7-leases-</Role>
      <ShortName>Note 7 - Leases</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="occ20240430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>013 - Disclosure - Note 8 - Fair Value Measurements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20240430/role/statement-note-8-fair-value-measurements</Role>
      <ShortName>Note 8 - Fair Value Measurements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="occ20240430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>014 - Disclosure - Note 9 - Net Income (Loss) Per Share</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20240430/role/statement-note-9-net-income-loss-per-share</Role>
      <ShortName>Note 9 - Net Income (Loss) Per Share</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="occ20240430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>015 - Disclosure - Note 10 - Segment Information and Business and Credit Concentrations</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations</Role>
      <ShortName>Note 10 - Segment Information and Business and Credit Concentrations</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="occ20240430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>016 - Disclosure - Note 11 - Revenue Recognition</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20240430/role/statement-note-11-revenue-recognition</Role>
      <ShortName>Note 11 - Revenue Recognition</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="occ20240430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>017 - Disclosure - Note 12 - Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20240430/role/statement-note-12-contingencies</Role>
      <ShortName>Note 12 - Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="occ20240430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>018 - Disclosure - Note 13 - New Accounting Standards Not Yet Adopted</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20240430/role/statement-note-13-new-accounting-standards-not-yet-adopted</Role>
      <ShortName>Note 13 - New Accounting Standards Not Yet Adopted</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="occ20240430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.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>20</Position>
    </Report>
    <Report instance="occ20240430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>995464 - Disclosure - Note 3 - Allowance for Credit Losses for Trade Accounts Receivable (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20240430/role/statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-tables</Role>
      <ShortName>Note 3 - Allowance for Credit Losses for Trade Accounts Receivable (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://http/20240430/role/statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable</ParentRole>
      <Position>21</Position>
    </Report>
    <Report instance="occ20240430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>995465 - Disclosure - Note 4 - Inventories (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20240430/role/statement-note-4-inventories-tables</Role>
      <ShortName>Note 4 - Inventories (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://http/20240430/role/statement-note-4-inventories</ParentRole>
      <Position>22</Position>
    </Report>
    <Report instance="occ20240430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>995466 - Disclosure - Note 5 - Product Warranties (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20240430/role/statement-note-5-product-warranties-tables</Role>
      <ShortName>Note 5 - Product Warranties (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://http/20240430/role/statement-note-5-product-warranties</ParentRole>
      <Position>23</Position>
    </Report>
    <Report instance="occ20240430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>995467 - Disclosure - Note 7 - Leases (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20240430/role/statement-note-7-leases-tables</Role>
      <ShortName>Note 7 - Leases (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://http/20240430/role/statement-note-7-leases-</ParentRole>
      <Position>24</Position>
    </Report>
    <Report instance="occ20240430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>995468 - Disclosure - Note 9 - Net Income (Loss) Per Share (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20240430/role/statement-note-9-net-income-loss-per-share-tables</Role>
      <ShortName>Note 9 - Net Income (Loss) Per Share (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://http/20240430/role/statement-note-9-net-income-loss-per-share</ParentRole>
      <Position>25</Position>
    </Report>
    <Report instance="occ20240430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>995469 - Disclosure - Note 11 - Revenue Recognition (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20240430/role/statement-note-11-revenue-recognition-tables</Role>
      <ShortName>Note 11 - Revenue Recognition (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://http/20240430/role/statement-note-11-revenue-recognition</ParentRole>
      <Position>26</Position>
    </Report>
    <Report instance="occ20240430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>995470 - Disclosure - Note 2 - Stock Incentive Plans and Other Share-based Compensation (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual</Role>
      <ShortName>Note 2 - Stock Incentive Plans and Other Share-based Compensation (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-</ParentRole>
      <Position>27</Position>
    </Report>
    <Report instance="occ20240430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>995471 - Disclosure - Note 3 - Allowance for Credit Losses for Trade Accounts Receivable - Summary of Changes in the Allowance for Doubtful Accounts for Trade Accounts Receivable (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20240430/role/statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-summary-of-changes-in-the-allowance-for-doubtful-accounts-for-trade-accounts-receivable-details</Role>
      <ShortName>Note 3 - Allowance for Credit Losses for Trade Accounts Receivable - Summary of Changes in the Allowance for Doubtful Accounts for Trade Accounts Receivable (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>28</Position>
    </Report>
    <Report instance="occ20240430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>995472 - Disclosure - Note 4 - Inventories - Components of Inventories (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20240430/role/statement-note-4-inventories-components-of-inventories-details</Role>
      <ShortName>Note 4 - Inventories - Components of Inventories (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>29</Position>
    </Report>
    <Report instance="occ20240430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>995473 - Disclosure - Note 5 - Product Warranties (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20240430/role/statement-note-5-product-warranties-details-textual</Role>
      <ShortName>Note 5 - Product Warranties (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://http/20240430/role/statement-note-5-product-warranties-tables</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="occ20240430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>995474 - Disclosure - Note 5 - Product Warranties - Changes in Accrual for Product Warranties (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20240430/role/statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details</Role>
      <ShortName>Note 5 - Product Warranties - Changes in Accrual for Product Warranties (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>31</Position>
    </Report>
    <Report instance="occ20240430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>995475 - Disclosure - Note 6 - Long-term Debt and Notes Payable (Details Textual)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual</Role>
      <ShortName>Note 6 - Long-term Debt and Notes Payable (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="occ20240430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>995476 - Disclosure - Note 7 - Leases (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20240430/role/statement-note-7-leases-details-textual</Role>
      <ShortName>Note 7 - Leases (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://http/20240430/role/statement-note-7-leases-tables</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="occ20240430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>995477 - Disclosure - Note 7 - Leases - Future Payments Due (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20240430/role/statement-note-7-leases-future-payments-due-details</Role>
      <ShortName>Note 7 - Leases - Future Payments Due (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>34</Position>
    </Report>
    <Report instance="occ20240430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>995478 - Disclosure - Note 9 - Net Income (Loss) Per Share (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20240430/role/statement-note-9-net-income-loss-per-share-details-textual</Role>
      <ShortName>Note 9 - Net Income (Loss) Per Share (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://http/20240430/role/statement-note-9-net-income-loss-per-share-tables</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="occ20240430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>995479 - Disclosure - Note 9 - Net Income (Loss) Per Share - Components of Reconciliation of Numerators and Denominators Net Loss Per Share (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20240430/role/statement-note-9-net-income-loss-per-share-components-of-reconciliation-of-numerators-and-denominators-net-loss-per-share-details</Role>
      <ShortName>Note 9 - Net Income (Loss) Per Share - Components of Reconciliation of Numerators and Denominators Net Loss Per Share (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://http/20240430/role/statement-note-9-net-income-loss-per-share-tables</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="occ20240430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>995480 - Disclosure - Note 10 - Segment Information and Business and Credit Concentrations (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual</Role>
      <ShortName>Note 10 - Segment Information and Business and Credit Concentrations (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="occ20240430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>995481 - Disclosure - Note 11 - Revenue Recognition (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20240430/role/statement-note-11-revenue-recognition-details-textual</Role>
      <ShortName>Note 11 - Revenue Recognition (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://http/20240430/role/statement-note-11-revenue-recognition-tables</ParentRole>
      <Position>38</Position>
    </Report>
    <Report instance="occ20240430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>995482 - Disclosure - Note 11 - Revenue Recognition - Schedule of Revenue from External Customers by Geographical Areas (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20240430/role/statement-note-11-revenue-recognition-schedule-of-revenue-from-external-customers-by-geographical-areas-details</Role>
      <ShortName>Note 11 - Revenue Recognition - Schedule of Revenue from External Customers by Geographical Areas (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>39</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <Logs>
    <Log type="Warning">[ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 21 fact(s) appearing in ix:hidden were eligible for transformation: ecd:NonRule10b51ArrAdoptedFlag, ecd:NonRule10b51ArrTrmntdFlag, ecd:Rule10b51ArrAdoptedFlag, ecd:Rule10b51ArrTrmntdFlag, occ:ConcentrationRiskNumberOfCustomers, occ:DebtInstrumentTermExtensions, us-gaap:CommonStockNoParValue, us-gaap:LesseeOperatingLeaseTermOfContract, us-gaap:NumberOfReportableSegments, us-gaap:PreferredStockNoParValue, us-gaap:PreferredStockSharesIssued, us-gaap:PreferredStockSharesOutstanding, us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability -  occ20240430_10q.htm 13, 14, 15, 16, 17, 18, 19, 20, 21, 28, 29, 36, 37, 43, 44, 45, 46, 47, 48, 49, 50</Log>
  </Logs>
  <InputFiles>
    <File>occ-20240430.xsd</File>
    <File>occ-20240430_cal.xml</File>
    <File>occ-20240430_def.xml</File>
    <File>occ-20240430_lab.xml</File>
    <File>occ-20240430_pre.xml</File>
    <File doctype="10-Q" isDefinitelyFs="true" isUsgaap="true" original="occ20240430_10q.htm">occ20240430_10q.htm</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="414">http://fasb.org/us-gaap/2024</BaseTaxonomy>
    <BaseTaxonomy items="29">http://xbrl.sec.gov/dei/2024</BaseTaxonomy>
    <BaseTaxonomy items="5">http://xbrl.sec.gov/ecd/2024</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>58
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "occ20240430_10q.htm": {
   "nsprefix": "occ",
   "nsuri": "http://http/20240430",
   "dts": {
    "schema": {
     "local": [
      "occ-20240430.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd",
      "https://xbrl.fasb.org/srt/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/currency/2024/currency-2024.xsd",
      "https://xbrl.sec.gov/dei/2024/dei-2024.xsd",
      "https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd",
      "https://xbrl.sec.gov/exch/2024/exch-2024.xsd",
      "https://xbrl.sec.gov/naics/2024/naics-2024.xsd",
      "https://xbrl.sec.gov/sic/2024/sic-2024.xsd",
      "https://xbrl.sec.gov/stpr/2024/stpr-2024.xsd"
     ]
    },
    "calculationLink": {
     "local": [
      "occ-20240430_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "occ-20240430_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "occ-20240430_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "occ-20240430_pre.xml"
     ]
    },
    "inline": {
     "local": [
      "occ20240430_10q.htm"
     ]
    }
   },
   "keyStandard": 191,
   "keyCustom": 13,
   "axisStandard": 15,
   "axisCustom": 0,
   "memberStandard": 12,
   "memberCustom": 8,
   "hidden": {
    "total": 43,
    "http://fasb.org/us-gaap/2024": 29,
    "http://xbrl.sec.gov/ecd/2024": 4,
    "http://http/20240430": 5,
    "http://xbrl.sec.gov/dei/2024": 5
   },
   "contextCount": 77,
   "entityCount": 1,
   "segmentCount": 20,
   "elementCount": 293,
   "unitCount": 8,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2024": 414,
    "http://xbrl.sec.gov/dei/2024": 29,
    "http://xbrl.sec.gov/ecd/2024": 5
   },
   "report": {
    "R1": {
     "role": "http://http/20240430/role/statement-document-and-entity-information",
     "longName": "000 - Document - Document And Entity Information",
     "shortName": "Document And Entity Information",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "b",
       "p",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "b",
       "p",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R2": {
     "role": "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited",
     "longName": "001 - Statement - Condensed Consolidated Balance Sheets (Unaudited)",
     "shortName": "Condensed Consolidated Balance Sheets (Unaudited)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "2",
     "firstAnchor": {
      "contextRef": "i_2024-04-30",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "i_2024-04-30",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R3": {
     "role": "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited-parentheticals",
     "longName": "002 - Statement - Condensed Consolidated Balance Sheets (Unaudited) (Parentheticals)",
     "shortName": "Condensed Consolidated Balance Sheets (Unaudited) (Parentheticals)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "3",
     "firstAnchor": {
      "contextRef": "i_2024-04-30",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "i_2024-04-30",
      "name": "us-gaap:PreferredStockSharesAuthorized",
      "unitRef": "Share",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "unique": true
     }
    },
    "R4": {
     "role": "http://http/20240430/role/statement-condensed-consolidated-statements-of-operations-unaudited",
     "longName": "003 - Statement - Condensed Consolidated Statements of Operations (Unaudited)",
     "shortName": "Condensed Consolidated Statements of Operations (Unaudited)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "4",
     "firstAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "us-gaap:CostOfGoodsAndServicesSold",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "unique": true
     }
    },
    "R5": {
     "role": "http://http/20240430/role/statement-condensed-consolidated-statements-of-shareholders-equity-unaudited",
     "longName": "004 - Statement - Condensed Consolidated Statements of Shareholders' Equity (Unaudited)",
     "shortName": "Condensed Consolidated Statements of Shareholders' Equity (Unaudited)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "5",
     "firstAnchor": {
      "contextRef": "i_2022-10-31_StatementEquityComponentsAxis-CommonStockMember",
      "name": "us-gaap:SharesOutstanding",
      "unitRef": "Share",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "d_2022-11-01_2023-01-31_StatementEquityComponentsAxis-CommonStockMember",
      "name": "us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation",
      "unitRef": "Share",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "unique": true
     }
    },
    "R6": {
     "role": "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited",
     "longName": "005 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited)",
     "shortName": "Condensed Consolidated Statements of Cash Flows (Unaudited)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "6",
     "firstAnchor": {
      "contextRef": "d_2023-11-01_2024-04-30",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "d_2023-11-01_2024-04-30",
      "name": "us-gaap:DepreciationDepletionAndAmortization",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "unique": true
     }
    },
    "R7": {
     "role": "http://http/20240430/role/statement-note-1-general",
     "longName": "006 - Disclosure - Note 1 - General",
     "shortName": "Note 1 - General",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "7",
     "firstAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R8": {
     "role": "http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-",
     "longName": "007 - Disclosure - Note 2 - Stock Incentive Plans and Other Share-based Compensation",
     "shortName": "Note 2 - Stock Incentive Plans and Other Share-based Compensation",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "8",
     "firstAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R9": {
     "role": "http://http/20240430/role/statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable",
     "longName": "008 - Disclosure - Note 3 - Allowance for Credit Losses for Trade Accounts Receivable",
     "shortName": "Note 3 - Allowance for Credit Losses for Trade Accounts Receivable",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "9",
     "firstAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "occ:AllowanceForDoubtfulAccountsForTradeAccountsReceivableDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "occ:AllowanceForDoubtfulAccountsForTradeAccountsReceivableDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R10": {
     "role": "http://http/20240430/role/statement-note-4-inventories",
     "longName": "009 - Disclosure - Note 4 - Inventories",
     "shortName": "Note 4 - Inventories",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "10",
     "firstAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R11": {
     "role": "http://http/20240430/role/statement-note-5-product-warranties",
     "longName": "010 - Disclosure - Note 5 - Product Warranties",
     "shortName": "Note 5 - Product Warranties",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "11",
     "firstAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "us-gaap:ProductWarrantyDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "us-gaap:ProductWarrantyDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R12": {
     "role": "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable",
     "longName": "011 - Disclosure - Note 6 - Long-term Debt and Notes Payable",
     "shortName": "Note 6 - Long-term Debt and Notes Payable",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "12",
     "firstAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "us-gaap:LongTermDebtTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "us-gaap:LongTermDebtTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R13": {
     "role": "http://http/20240430/role/statement-note-7-leases-",
     "longName": "012 - Disclosure - Note 7 - Leases",
     "shortName": "Note 7 - Leases",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "13",
     "firstAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "occ:LesseeOperatingAndFinanceLeasesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "occ:LesseeOperatingAndFinanceLeasesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R14": {
     "role": "http://http/20240430/role/statement-note-8-fair-value-measurements",
     "longName": "013 - Disclosure - Note 8 - Fair Value Measurements",
     "shortName": "Note 8 - Fair Value Measurements",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "14",
     "firstAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R15": {
     "role": "http://http/20240430/role/statement-note-9-net-income-loss-per-share",
     "longName": "014 - Disclosure - Note 9 - Net Income (Loss) Per Share",
     "shortName": "Note 9 - Net Income (Loss) Per Share",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "15",
     "firstAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R16": {
     "role": "http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations",
     "longName": "015 - Disclosure - Note 10 - Segment Information and Business and Credit Concentrations",
     "shortName": "Note 10 - Segment Information and Business and Credit Concentrations",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "16",
     "firstAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "us-gaap:ConcentrationRiskDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "us-gaap:ConcentrationRiskDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R17": {
     "role": "http://http/20240430/role/statement-note-11-revenue-recognition",
     "longName": "016 - Disclosure - Note 11 - Revenue Recognition",
     "shortName": "Note 11 - Revenue Recognition",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "17",
     "firstAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R18": {
     "role": "http://http/20240430/role/statement-note-12-contingencies",
     "longName": "017 - Disclosure - Note 12 - Contingencies",
     "shortName": "Note 12 - Contingencies",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "18",
     "firstAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R19": {
     "role": "http://http/20240430/role/statement-note-13-new-accounting-standards-not-yet-adopted",
     "longName": "018 - Disclosure - Note 13 - New Accounting Standards Not Yet Adopted",
     "shortName": "Note 13 - New Accounting Standards Not Yet Adopted",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "19",
     "firstAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R20": {
     "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": "20",
     "firstAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "ecd:MtrlTermsOfTrdArrTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "ecd:MtrlTermsOfTrdArrTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R21": {
     "role": "http://http/20240430/role/statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-tables",
     "longName": "995464 - Disclosure - Note 3 - Allowance for Credit Losses for Trade Accounts Receivable (Tables)",
     "shortName": "Note 3 - Allowance for Credit Losses for Trade Accounts Receivable (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "21",
     "firstAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "occ:SummaryOfChangesInAllowanceForDoubtfulAccountsForTradeAccountsReceivableTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "occ:AllowanceForDoubtfulAccountsForTradeAccountsReceivableDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "occ:SummaryOfChangesInAllowanceForDoubtfulAccountsForTradeAccountsReceivableTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "occ:AllowanceForDoubtfulAccountsForTradeAccountsReceivableDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R22": {
     "role": "http://http/20240430/role/statement-note-4-inventories-tables",
     "longName": "995465 - Disclosure - Note 4 - Inventories (Tables)",
     "shortName": "Note 4 - Inventories (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "22",
     "firstAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R23": {
     "role": "http://http/20240430/role/statement-note-5-product-warranties-tables",
     "longName": "995466 - Disclosure - Note 5 - Product Warranties (Tables)",
     "shortName": "Note 5 - Product Warranties (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "23",
     "firstAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:ProductWarrantyDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:ProductWarrantyDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R24": {
     "role": "http://http/20240430/role/statement-note-7-leases-tables",
     "longName": "995467 - Disclosure - Note 7 - Leases (Tables)",
     "shortName": "Note 7 - Leases (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "24",
     "firstAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "occ:LesseeLeaseLiabilityMaturityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "occ:LesseeOperatingAndFinanceLeasesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "occ:LesseeLeaseLiabilityMaturityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "occ:LesseeOperatingAndFinanceLeasesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R25": {
     "role": "http://http/20240430/role/statement-note-9-net-income-loss-per-share-tables",
     "longName": "995468 - Disclosure - Note 9 - Net Income (Loss) Per Share (Tables)",
     "shortName": "Note 9 - Net Income (Loss) Per Share (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "25",
     "firstAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R26": {
     "role": "http://http/20240430/role/statement-note-11-revenue-recognition-tables",
     "longName": "995469 - Disclosure - Note 11 - Revenue Recognition (Tables)",
     "shortName": "Note 11 - Revenue Recognition (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "26",
     "firstAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R27": {
     "role": "http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual",
     "longName": "995470 - Disclosure - Note 2 - Stock Incentive Plans and Other Share-based Compensation (Details Textual)",
     "shortName": "Note 2 - Stock Incentive Plans and Other Share-based Compensation (Details Textual)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "27",
     "firstAnchor": {
      "contextRef": "d_2023-11-01_2024-04-30_AwardTypeAxis-RestrictedStockMember",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod",
      "unitRef": "Share",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "d_2023-11-01_2024-04-30_AwardTypeAxis-RestrictedStockMember",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod",
      "unitRef": "Share",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R28": {
     "role": "http://http/20240430/role/statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-summary-of-changes-in-the-allowance-for-doubtful-accounts-for-trade-accounts-receivable-details",
     "longName": "995471 - Disclosure - Note 3 - Allowance for Credit Losses for Trade Accounts Receivable - Summary of Changes in the Allowance for Doubtful Accounts for Trade Accounts Receivable (Details)",
     "shortName": "Note 3 - Allowance for Credit Losses for Trade Accounts Receivable - Summary of Changes in the Allowance for Doubtful Accounts for Trade Accounts Receivable (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "28",
     "firstAnchor": {
      "contextRef": "i_2023-10-31",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "i_2022-10-31",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "occ:SummaryOfChangesInAllowanceForDoubtfulAccountsForTradeAccountsReceivableTableTextBlock",
       "occ:AllowanceForDoubtfulAccountsForTradeAccountsReceivableDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "unique": true
     }
    },
    "R29": {
     "role": "http://http/20240430/role/statement-note-4-inventories-components-of-inventories-details",
     "longName": "995472 - Disclosure - Note 4 - Inventories - Components of Inventories (Details)",
     "shortName": "Note 4 - Inventories - Components of Inventories (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "29",
     "firstAnchor": {
      "contextRef": "i_2024-04-30",
      "name": "us-gaap:InventoryFinishedGoodsNetOfReserves",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "i_2024-04-30",
      "name": "us-gaap:InventoryFinishedGoodsNetOfReserves",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R30": {
     "role": "http://http/20240430/role/statement-note-5-product-warranties-details-textual",
     "longName": "995473 - Disclosure - Note 5 - Product Warranties (Details Textual)",
     "shortName": "Note 5 - Product Warranties (Details Textual)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "30",
     "firstAnchor": {
      "contextRef": "i_2024-04-30",
      "name": "us-gaap:ProductWarrantyAccrual",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
       "us-gaap:ProductWarrantyDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "us-gaap:ProductWarrantyExpense",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "us-gaap:ProductWarrantyDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "unique": true
     }
    },
    "R31": {
     "role": "http://http/20240430/role/statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details",
     "longName": "995474 - Disclosure - Note 5 - Product Warranties - Changes in Accrual for Product Warranties (Details)",
     "shortName": "Note 5 - Product Warranties - Changes in Accrual for Product Warranties (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "31",
     "firstAnchor": {
      "contextRef": "i_2023-10-31",
      "name": "us-gaap:ProductWarrantyAccrual",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
       "us-gaap:ProductWarrantyDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "d_2023-11-01_2024-04-30",
      "name": "us-gaap:ProductWarrantyAccrualWarrantiesIssued",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
       "us-gaap:ProductWarrantyDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "unique": true
     }
    },
    "R32": {
     "role": "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual",
     "longName": "995475 - Disclosure - Note 6 - Long-term Debt and Notes Payable (Details Textual)",
     "shortName": "Note 6 - Long-term Debt and Notes Payable (Details Textual)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "32",
     "firstAnchor": {
      "contextRef": "i_2024-04-30",
      "name": "us-gaap:LongTermLoansPayable",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "i_2020-07-24_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember",
      "name": "us-gaap:DebtInstrumentInterestRateEffectivePercentage",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "4",
      "ancestors": [
       "p",
       "us-gaap:LongTermDebtTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "unique": true
     }
    },
    "R33": {
     "role": "http://http/20240430/role/statement-note-7-leases-details-textual",
     "longName": "995476 - Disclosure - Note 7 - Leases (Details Textual)",
     "shortName": "Note 7 - Leases (Details Textual)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "33",
     "firstAnchor": {
      "contextRef": "i_2024-04-30",
      "name": "us-gaap:OperatingLeaseRightOfUseAsset",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "occ:LesseeOperatingAndFinanceLeasesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "i_2023-10-31",
      "name": "us-gaap:OperatingLeaseRightOfUseAsset",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "occ:LesseeOperatingAndFinanceLeasesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "unique": true
     }
    },
    "R34": {
     "role": "http://http/20240430/role/statement-note-7-leases-future-payments-due-details",
     "longName": "995477 - Disclosure - Note 7 - Leases - Future Payments Due (Details)",
     "shortName": "Note 7 - Leases - Future Payments Due (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "34",
     "firstAnchor": {
      "contextRef": "i_2024-04-30",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "occ:LesseeLeaseLiabilityMaturityTableTextBlock",
       "occ:LesseeOperatingAndFinanceLeasesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "i_2024-04-30",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "occ:LesseeLeaseLiabilityMaturityTableTextBlock",
       "occ:LesseeOperatingAndFinanceLeasesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R35": {
     "role": "http://http/20240430/role/statement-note-9-net-income-loss-per-share-details-textual",
     "longName": "995478 - Disclosure - Note 9 - Net Income (Loss) Per Share (Details Textual)",
     "shortName": "Note 9 - Net Income (Loss) Per Share (Details Textual)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "35",
     "firstAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "unitRef": "Share",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "unitRef": "Share",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R36": {
     "role": "http://http/20240430/role/statement-note-9-net-income-loss-per-share-components-of-reconciliation-of-numerators-and-denominators-net-loss-per-share-details",
     "longName": "995479 - Disclosure - Note 9 - Net Income (Loss) Per Share - Components of Reconciliation of Numerators and Denominators Net Loss Per Share (Details)",
     "shortName": "Note 9 - Net Income (Loss) Per Share - Components of Reconciliation of Numerators and Denominators Net Loss Per Share (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "36",
     "firstAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "us-gaap:WeightedAverageNumberOfSharesOutstandingBasic",
      "unitRef": "Share",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "unique": true
     }
    },
    "R37": {
     "role": "http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual",
     "longName": "995480 - Disclosure - Note 10 - Segment Information and Business and Credit Concentrations (Details Textual)",
     "shortName": "Note 10 - Segment Information and Business and Credit Concentrations (Details Textual)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "37",
     "firstAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-OneCustomerMember",
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "3",
      "ancestors": [
       "p",
       "us-gaap:ConcentrationRiskDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-OneCustomerMember",
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "3",
      "ancestors": [
       "p",
       "us-gaap:ConcentrationRiskDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R38": {
     "role": "http://http/20240430/role/statement-note-11-revenue-recognition-details-textual",
     "longName": "995481 - Disclosure - Note 11 - Revenue Recognition (Details Textual)",
     "shortName": "Note 11 - Revenue Recognition (Details Textual)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "38",
     "firstAnchor": {
      "contextRef": "i_2024-04-30",
      "name": "us-gaap:ContractWithCustomerLiability",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "i_2024-04-30",
      "name": "us-gaap:ContractWithCustomerLiability",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R39": {
     "role": "http://http/20240430/role/statement-note-11-revenue-recognition-schedule-of-revenue-from-external-customers-by-geographical-areas-details",
     "longName": "995482 - Disclosure - Note 11 - Revenue Recognition - Schedule of Revenue from External Customers by Geographical Areas (Details)",
     "shortName": "Note 11 - Revenue Recognition - Schedule of Revenue from External Customers by Geographical Areas (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "39",
     "firstAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "d_2024-02-01_2024-04-30_StatementGeographicalAxis-US",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "occ20240430_10q.htm",
      "unique": true
     }
    }
   },
   "tag": {
    "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsPayableAndAccruedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts payable and accrued expenses",
        "documentation": "Sum of the carrying values as of the balance sheet date of obligations incurred through that date and due within one year (or the operating cycle, if longer), including liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received, taxes, interest, rent and utilities, accrued salaries and bonuses, payroll taxes and fringe benefits."
       }
      }
     },
     "auth_ref": [
      "r26",
      "r27"
     ]
    },
    "us-gaap_AccountsPayableAndAccruedLiabilitiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsPayableAndAccruedLiabilitiesMember",
     "presentation": [
      "http://http/20240430/role/statement-note-5-product-warranties",
      "http://http/20240430/role/statement-note-5-product-warranties-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Payable and Accrued Liabilities [Member]",
        "documentation": "Primary financial statement caption encompassing accounts payable and accrued liabilities."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsReceivableNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trade accounts receivable, net of allowance for credit losses of $54,261 at April 30, 2024 and $71,189 at October 31, 2023",
        "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": [
      "r552"
     ]
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to reconcile net income (loss) to net cash provided by (used in) operating activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AllocatedShareBasedCompensationExpense",
     "crdr": "debit",
     "presentation": [
      "http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_AllocatedShareBasedCompensationExpense",
        "terseLabel": "Share-Based Payment Arrangement, Expense",
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized."
       }
      }
     },
     "auth_ref": [
      "r246",
      "r251"
     ]
    },
    "occ_AllowanceForDoubtfulAccountsForTradeAccountsReceivableDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://http/20240430",
     "localname": "AllowanceForDoubtfulAccountsForTradeAccountsReceivableDisclosureTextBlock",
     "presentation": [
      "http://http/20240430/role/statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Allowance for Doubtful Accounts for Trade Accounts Receivable Disclosure [Text Block]",
        "documentation": "Allowance for doubtful accounts for trade accounts receivable"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "crdr": "credit",
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited-parentheticals",
      "http://http/20240430/role/statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-summary-of-changes-in-the-allowance-for-doubtful-accounts-for-trade-accounts-receivable-details"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent",
        "terseLabel": "Accounts Receivable, Allowance for Credit Loss, Current",
        "periodStartLabel": "Balance at beginning of period",
        "periodEndLabel": "Balance at end of period",
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r93",
      "r156",
      "r162"
     ]
    },
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://http/20240430/role/statement-document-and-entity-information"
     ],
     "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_AmortizationOfIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AmortizationOfIntangibleAssets",
     "crdr": "debit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-operations-unaudited": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-operations-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amortization of intangible assets",
        "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method."
       }
      }
     },
     "auth_ref": [
      "r3",
      "r166",
      "r167",
      "r489"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "presentation": [
      "http://http/20240430/role/statement-note-9-net-income-loss-per-share-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
        "terseLabel": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount",
        "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented."
       }
      }
     },
     "auth_ref": [
      "r134"
     ]
    },
    "us-gaap_AreaOfRealEstateProperty": {
     "xbrltype": "areaItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AreaOfRealEstateProperty",
     "presentation": [
      "http://http/20240430/role/statement-note-7-leases-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_AreaOfRealEstateProperty",
        "terseLabel": "Area of Real Estate Property",
        "documentation": "Area of a real estate property."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Assets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Assets",
     "crdr": "debit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_Assets",
        "totalLabel": "Total assets",
        "documentation": "Amount of asset recognized for present right to economic benefit."
       }
      }
     },
     "auth_ref": [
      "r69",
      "r79",
      "r91",
      "r106",
      "r138",
      "r140",
      "r148",
      "r149",
      "r157",
      "r190",
      "r191",
      "r192",
      "r193",
      "r194",
      "r195",
      "r196",
      "r197",
      "r198",
      "r267",
      "r269",
      "r292",
      "r366",
      "r423",
      "r485",
      "r486",
      "r503",
      "r525",
      "r565",
      "r566",
      "r606"
     ]
    },
    "us-gaap_AssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsAbstract",
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_AssetsCurrent",
        "totalLabel": "Total current assets",
        "documentation": "Amount of asset recognized for present right to economic benefit, classified as current."
       }
      }
     },
     "auth_ref": [
      "r87",
      "r95",
      "r106",
      "r157",
      "r190",
      "r191",
      "r192",
      "r193",
      "r194",
      "r195",
      "r196",
      "r197",
      "r198",
      "r267",
      "r269",
      "r292",
      "r503",
      "r565",
      "r566",
      "r606"
     ]
    },
    "us-gaap_AssetsCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsCurrentAbstract",
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current assets:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AwardTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AwardTypeAxis",
     "presentation": [
      "http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-",
      "http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Type [Axis]",
        "documentation": "Information by type of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r220",
      "r221",
      "r222",
      "r223",
      "r224",
      "r225",
      "r226",
      "r227",
      "r228",
      "r229",
      "r230",
      "r231",
      "r232",
      "r233",
      "r234",
      "r235",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r244",
      "r245"
     ]
    },
    "us-gaap_BalanceSheetLocationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BalanceSheetLocationAxis",
     "presentation": [
      "http://http/20240430/role/statement-note-5-product-warranties",
      "http://http/20240430/role/statement-note-5-product-warranties-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Financial Position Location, Balance [Axis]",
        "documentation": "Information by location in statement of financial position where disaggregated cumulative balance has been reported."
       }
      }
     },
     "auth_ref": [
      "r169",
      "r617",
      "r618"
     ]
    },
    "us-gaap_BalanceSheetLocationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BalanceSheetLocationDomain",
     "presentation": [
      "http://http/20240430/role/statement-note-5-product-warranties",
      "http://http/20240430/role/statement-note-5-product-warranties-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Financial Position Location, Balance [Domain]",
        "documentation": "Location in statement of financial position where disaggregated cumulative balance has been reported."
       }
      }
     },
     "auth_ref": [
      "r20",
      "r21",
      "r169",
      "r617",
      "r618"
     ]
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "crdr": "debit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash",
        "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": [
      "r11",
      "r89",
      "r475"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
     "crdr": "debit",
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
        "periodStartLabel": "Cash at beginning of period",
        "periodEndLabel": "Cash at end of period",
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including, but not limited to, 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": [
      "r11",
      "r56",
      "r105"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "crdr": "debit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
        "totalLabel": "Net increase (decrease) in cash",
        "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",
      "r56"
     ]
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CityAreaCode",
     "presentation": [
      "http://http/20240430/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "dei_CityAreaCode",
        "terseLabel": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommitmentsAndContingencies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommitmentsAndContingencies",
     "crdr": "credit",
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies",
        "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur."
       }
      }
     },
     "auth_ref": [
      "r33",
      "r72",
      "r367",
      "r409"
     ]
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "presentation": [
      "http://http/20240430/role/statement-note-12-contingencies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies Disclosure [Text Block]",
        "documentation": "The entire disclosure for commitments and contingencies."
       }
      }
     },
     "auth_ref": [
      "r64",
      "r170",
      "r171",
      "r462",
      "r556",
      "r561"
     ]
    },
    "us-gaap_CommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockMember",
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-shareholders-equity-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock [Member]",
        "documentation": "Stock that is subordinate to all other stock of the issuer."
       }
      }
     },
     "auth_ref": [
      "r516",
      "r517",
      "r518",
      "r520",
      "r521",
      "r522",
      "r523",
      "r541",
      "r542",
      "r543",
      "r597",
      "r646",
      "r647"
     ]
    },
    "us-gaap_CommonStockNoParValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockNoParValue",
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited-parentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_CommonStockNoParValue",
        "terseLabel": "Common Stock, No Par Value (in dollars per share)",
        "documentation": "Face amount per share of no-par value common stock."
       }
      }
     },
     "auth_ref": [
      "r36"
     ]
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesAuthorized",
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited-parentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_CommonStockSharesAuthorized",
        "terseLabel": "Common Stock, Shares Authorized (in shares)",
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r36",
      "r410"
     ]
    },
    "us-gaap_CommonStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesIssued",
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited-parentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_CommonStockSharesIssued",
        "terseLabel": "Common Stock, Shares, Issued (in shares)",
        "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": [
      "r36"
     ]
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesOutstanding",
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited-parentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_CommonStockSharesOutstanding",
        "terseLabel": "Common Stock, Shares, Outstanding (in shares)",
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r36",
      "r410",
      "r429",
      "r647",
      "r648"
     ]
    },
    "us-gaap_CommonStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockValue",
     "crdr": "credit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, no par value, authorized 50,000,000 shares; issued and outstanding 7,852,515 shares at April 30, 2024 and 7,893,681 shares at October 31, 2023",
        "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": [
      "r36",
      "r369",
      "r503"
     ]
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskBenchmarkDomain",
     "presentation": [
      "http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations",
      "http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Benchmark [Domain]",
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r14",
      "r22",
      "r23",
      "r153",
      "r461"
     ]
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "presentation": [
      "http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations",
      "http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Benchmark [Axis]",
        "documentation": "Information by benchmark of concentration risk."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r14",
      "r22",
      "r23",
      "r153",
      "r389",
      "r461"
     ]
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskByTypeAxis",
     "presentation": [
      "http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations",
      "http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual"
     ],
     "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": [
      "r13",
      "r14",
      "r22",
      "r23",
      "r153",
      "r461",
      "r535"
     ]
    },
    "us-gaap_ConcentrationRiskDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskDisclosureTextBlock",
     "presentation": [
      "http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Disclosure [Text Block]",
        "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": [
      "r59"
     ]
    },
    "occ_ConcentrationRiskNumberOfCustomers": {
     "xbrltype": "integerItemType",
     "nsuri": "http://http/20240430",
     "localname": "ConcentrationRiskNumberOfCustomers",
     "presentation": [
      "http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "occ_ConcentrationRiskNumberOfCustomers",
        "terseLabel": "Concentration Risk, Number of Customers",
        "documentation": "Number of customers for a concentration risk benchmark."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskPercentage1",
     "presentation": [
      "http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_ConcentrationRiskPercentage1",
        "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": [
      "r13",
      "r14",
      "r22",
      "r23",
      "r153"
     ]
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskTypeDomain",
     "presentation": [
      "http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations",
      "http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual"
     ],
     "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": [
      "r13",
      "r14",
      "r22",
      "r23",
      "r153",
      "r461"
     ]
    },
    "us-gaap_ContractWithCustomerLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractWithCustomerLiability",
     "crdr": "credit",
     "presentation": [
      "http://http/20240430/role/statement-note-11-revenue-recognition-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_ContractWithCustomerLiability",
        "terseLabel": "Contract with Customer, Liability",
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable."
       }
      }
     },
     "auth_ref": [
      "r202",
      "r203",
      "r214"
     ]
    },
    "us-gaap_ContractWithCustomerRefundLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractWithCustomerRefundLiability",
     "crdr": "credit",
     "presentation": [
      "http://http/20240430/role/statement-note-11-revenue-recognition-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_ContractWithCustomerRefundLiability",
        "terseLabel": "Contract with Customer, Refund Liability",
        "documentation": "Amount of liability for consideration received or receivable from customer which is not included in transaction price, when consideration is expected to be refunded to customer."
       }
      }
     },
     "auth_ref": [
      "r570"
     ]
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CostOfGoodsAndServicesSold",
     "crdr": "debit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-operations-unaudited": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-operations-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cost of goods sold",
        "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": [
      "r46",
      "r47",
      "r327"
     ]
    },
    "us-gaap_CreditFacilityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CreditFacilityAxis",
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited",
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable",
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "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": [
      "r189",
      "r563"
     ]
    },
    "us-gaap_CreditFacilityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CreditFacilityDomain",
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited",
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable",
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "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": [
      "r189",
      "r563",
      "r564"
     ]
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CurrentFiscalYearEndDate",
     "presentation": [
      "http://http/20240430/role/statement-document-and-entity-information"
     ],
     "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_CustomerConcentrationRiskMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CustomerConcentrationRiskMember",
     "presentation": [
      "http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations",
      "http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer Concentration Risk [Member]",
        "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": [
      "r60",
      "r153"
     ]
    },
    "occ_DebtInstrumentAmortizationPeriod": {
     "xbrltype": "durationItemType",
     "nsuri": "http://http/20240430",
     "localname": "DebtInstrumentAmortizationPeriod",
     "presentation": [
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "occ_DebtInstrumentAmortizationPeriod",
        "terseLabel": "Debt Instrument, Amortization Period",
        "documentation": "Period for amortization of the debt instrument."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentBasisSpreadOnVariableRate1",
     "presentation": [
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1",
        "terseLabel": "Debt Instrument, Basis Spread on Variable Rate",
        "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentInterestRateEffectivePercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentInterestRateEffectivePercentage",
     "presentation": [
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_DebtInstrumentInterestRateEffectivePercentage",
        "terseLabel": "Debt Instrument, Interest Rate, Effective Percentage",
        "documentation": "Effective interest rate for the funds borrowed under the debt agreement considering interest compounding and original issue discount or premium."
       }
      }
     },
     "auth_ref": [
      "r29",
      "r199",
      "r301",
      "r302",
      "r501"
     ]
    },
    "occ_DebtInstrumentTermExtensions": {
     "xbrltype": "durationItemType",
     "nsuri": "http://http/20240430",
     "localname": "DebtInstrumentTermExtensions",
     "presentation": [
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "occ_DebtInstrumentTermExtensions",
        "terseLabel": "Debt Instrument, Term Extensions",
        "documentation": "Potential extension to the 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://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration",
        "terseLabel": "Debt Instrument, Variable Interest Rate, Type [Extensible Enumeration]",
        "documentation": "Indicates type of variable interest rate on debt instrument."
       }
      }
     },
     "auth_ref": [
      "r365"
     ]
    },
    "us-gaap_DepreciationDepletionAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DepreciationDepletionAndAmortization",
     "crdr": "debit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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",
      "r138",
      "r144",
      "r149",
      "r485",
      "r486"
     ]
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "presentation": [
      "http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement [Text Block]",
        "documentation": "The entire disclosure for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r218",
      "r219",
      "r247",
      "r248",
      "r250",
      "r494"
     ]
    },
    "us-gaap_DisclosureTextBlockAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisclosureTextBlockAbstract",
     "presentation": [
      "http://http/20240430/role/statement-note-1-general",
      "http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations",
      "http://http/20240430/role/statement-note-11-revenue-recognition",
      "http://http/20240430/role/statement-note-12-contingencies",
      "http://http/20240430/role/statement-note-13-new-accounting-standards-not-yet-adopted",
      "http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-",
      "http://http/20240430/role/statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable",
      "http://http/20240430/role/statement-note-4-inventories",
      "http://http/20240430/role/statement-note-5-product-warranties",
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable",
      "http://http/20240430/role/statement-note-7-leases-",
      "http://http/20240430/role/statement-note-8-fair-value-measurements",
      "http://http/20240430/role/statement-note-9-net-income-loss-per-share"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_DisclosureTextBlockAbstract",
        "terseLabel": "Notes to Financial Statements"
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentFiscalPeriodFocus",
     "presentation": [
      "http://http/20240430/role/statement-document-and-entity-information"
     ],
     "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://http/20240430/role/statement-document-and-entity-information"
     ],
     "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_DocumentInformationLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentInformationLineItems",
     "presentation": [
      "http://http/20240430/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Information [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentInformationTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentInformationTable",
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Information [Table]",
        "documentation": "Container to support the formal attachment of each official or unofficial, public or private document as part of a submission package."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodEndDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://http/20240430/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "dei_DocumentPeriodEndDate",
        "terseLabel": "Document Period End Date",
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentQuarterlyReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentQuarterlyReport",
     "presentation": [
      "http://http/20240430/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "dei_DocumentQuarterlyReport",
        "terseLabel": "Document Quarterly Report",
        "documentation": "Boolean flag that is true only for a form used as an quarterly report."
       }
      }
     },
     "auth_ref": [
      "r529"
     ]
    },
    "dei_DocumentTransitionReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentTransitionReport",
     "presentation": [
      "http://http/20240430/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "dei_DocumentTransitionReport",
        "terseLabel": "Document Transition Report",
        "documentation": "Boolean flag that is true only for a form used as a transition report."
       }
      }
     },
     "auth_ref": [
      "r530"
     ]
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentType",
     "presentation": [
      "http://http/20240430/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "dei_DocumentType",
        "terseLabel": "Document Type",
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareBasic": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareBasic",
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-operations-unaudited",
      "http://http/20240430/role/statement-note-9-net-income-loss-per-share-components-of-reconciliation-of-numerators-and-denominators-net-loss-per-share-details"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net income (loss) per share: Basic and diluted (in dollars per share)",
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r101",
      "r116",
      "r117",
      "r118",
      "r119",
      "r120",
      "r121",
      "r128",
      "r129",
      "r131",
      "r132",
      "r133",
      "r137",
      "r263",
      "r266",
      "r280",
      "r281",
      "r362",
      "r376",
      "r481"
     ]
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareTextBlock",
     "presentation": [
      "http://http/20240430/role/statement-note-9-net-income-loss-per-share"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share [Text Block]",
        "documentation": "The entire disclosure for earnings per share."
       }
      }
     },
     "auth_ref": [
      "r127",
      "r134",
      "r135",
      "r136"
     ]
    },
    "us-gaap_EmployeeRelatedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeRelatedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued compensation and payroll taxes",
        "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": [
      "r27"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
     "crdr": "debit",
     "presentation": [
      "http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
        "terseLabel": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount",
        "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r249"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "presentation": [
      "http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
        "terseLabel": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition",
        "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r249"
     ]
    },
    "occ_EmployeesConsultantAndNonemployeeDirectorsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://http/20240430",
     "localname": "EmployeesConsultantAndNonemployeeDirectorsMember",
     "presentation": [
      "http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-",
      "http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employees, Consultant and Non-employee Directors [Member]",
        "documentation": "Represents information related to employees, consultant and non-employee directors."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://http/20240430/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "dei_EntityAddressAddressLine1",
        "terseLabel": "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://http/20240430/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "dei_EntityAddressCityOrTown",
        "terseLabel": "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://http/20240430/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "dei_EntityAddressPostalZipCode",
        "terseLabel": "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://http/20240430/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "dei_EntityAddressStateOrProvince",
        "terseLabel": "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://http/20240430/role/statement-document-and-entity-information"
     ],
     "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": [
      "r527"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityCommonStockSharesOutstanding",
     "presentation": [
      "http://http/20240430/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "dei_EntityCommonStockSharesOutstanding",
        "terseLabel": "Entity Common Stock, Shares Outstanding (in shares)",
        "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://http/20240430/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "dei_EntityCurrentReportingStatus",
        "terseLabel": "Entity Current Reporting Status",
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityDomain",
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited",
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited-parentheticals",
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited",
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-operations-unaudited",
      "http://http/20240430/role/statement-document-and-entity-information",
      "http://http/20240430/role/statement-note-1-general",
      "http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations",
      "http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual",
      "http://http/20240430/role/statement-note-11-revenue-recognition",
      "http://http/20240430/role/statement-note-11-revenue-recognition-details-textual",
      "http://http/20240430/role/statement-note-11-revenue-recognition-schedule-of-revenue-from-external-customers-by-geographical-areas-details",
      "http://http/20240430/role/statement-note-11-revenue-recognition-tables",
      "http://http/20240430/role/statement-note-12-contingencies",
      "http://http/20240430/role/statement-note-13-new-accounting-standards-not-yet-adopted",
      "http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-",
      "http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual",
      "http://http/20240430/role/statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable",
      "http://http/20240430/role/statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-summary-of-changes-in-the-allowance-for-doubtful-accounts-for-trade-accounts-receivable-details",
      "http://http/20240430/role/statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-tables",
      "http://http/20240430/role/statement-note-4-inventories",
      "http://http/20240430/role/statement-note-4-inventories-components-of-inventories-details",
      "http://http/20240430/role/statement-note-4-inventories-tables",
      "http://http/20240430/role/statement-note-5-product-warranties",
      "http://http/20240430/role/statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details",
      "http://http/20240430/role/statement-note-5-product-warranties-details-textual",
      "http://http/20240430/role/statement-note-5-product-warranties-tables",
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable",
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual",
      "http://http/20240430/role/statement-note-7-leases-",
      "http://http/20240430/role/statement-note-7-leases-details-textual",
      "http://http/20240430/role/statement-note-7-leases-future-payments-due-details",
      "http://http/20240430/role/statement-note-7-leases-tables",
      "http://http/20240430/role/statement-note-8-fair-value-measurements",
      "http://http/20240430/role/statement-note-9-net-income-loss-per-share",
      "http://http/20240430/role/statement-note-9-net-income-loss-per-share-components-of-reconciliation-of-numerators-and-denominators-net-loss-per-share-details",
      "http://http/20240430/role/statement-note-9-net-income-loss-per-share-details-textual",
      "http://http/20240430/role/statement-note-9-net-income-loss-per-share-tables"
     ],
     "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://http/20240430/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "dei_EntityEmergingGrowthCompany",
        "terseLabel": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r527"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://http/20240430/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "dei_EntityFileNumber",
        "terseLabel": "Entity File Number",
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityFilerCategory": {
     "xbrltype": "filerCategoryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityFilerCategory",
     "presentation": [
      "http://http/20240430/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "dei_EntityFilerCategory",
        "terseLabel": "Entity Filer Category",
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": [
      "r527"
     ]
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://http/20240430/role/statement-document-and-entity-information"
     ],
     "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://http/20240430/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "dei_EntityInteractiveDataCurrent",
        "terseLabel": "Entity Interactive Data Current",
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)."
       }
      }
     },
     "auth_ref": [
      "r533"
     ]
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://http/20240430/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "dei_EntityRegistrantName",
        "terseLabel": "Entity Registrant Name",
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC."
       }
      }
     },
     "auth_ref": [
      "r527"
     ]
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityShellCompany",
     "presentation": [
      "http://http/20240430/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "dei_EntityShellCompany",
        "terseLabel": "Entity Shell Company",
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r527"
     ]
    },
    "dei_EntitySmallBusiness": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntitySmallBusiness",
     "presentation": [
      "http://http/20240430/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "dei_EntitySmallBusiness",
        "terseLabel": "Entity Small Business",
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)."
       }
      }
     },
     "auth_ref": [
      "r527"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://http/20240430/role/statement-document-and-entity-information"
     ],
     "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": [
      "r527"
     ]
    },
    "us-gaap_EquityComponentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquityComponentDomain",
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-shareholders-equity-unaudited"
     ],
     "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",
      "r84",
      "r98",
      "r99",
      "r100",
      "r107",
      "r108",
      "r109",
      "r113",
      "r120",
      "r122",
      "r124",
      "r139",
      "r158",
      "r161",
      "r168",
      "r201",
      "r255",
      "r256",
      "r258",
      "r259",
      "r260",
      "r264",
      "r265",
      "r266",
      "r271",
      "r272",
      "r273",
      "r274",
      "r275",
      "r277",
      "r279",
      "r293",
      "r294",
      "r295",
      "r296",
      "r297",
      "r298",
      "r303",
      "r304",
      "r320",
      "r375",
      "r380",
      "r381",
      "r382",
      "r395",
      "r448"
     ]
    },
    "us-gaap_FairValueDisclosuresTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueDisclosuresTextBlock",
     "presentation": [
      "http://http/20240430/role/statement-note-8-fair-value-measurements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Disclosures [Text Block]",
        "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information."
       }
      }
     },
     "auth_ref": [
      "r283",
      "r284",
      "r285",
      "r286",
      "r287",
      "r288",
      "r289",
      "r290",
      "r291",
      "r361",
      "r496",
      "r498"
     ]
    },
    "us-gaap_FinanceLeaseInterestExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinanceLeaseInterestExpense",
     "crdr": "debit",
     "presentation": [
      "http://http/20240430/role/statement-note-7-leases-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_FinanceLeaseInterestExpense",
        "terseLabel": "Finance Lease, Interest Expense",
        "documentation": "Amount of interest expense on finance lease liability."
       }
      }
     },
     "auth_ref": [
      "r308",
      "r311",
      "r502"
     ]
    },
    "us-gaap_FinanceLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinanceLeaseLiability",
     "crdr": "credit",
     "presentation": [
      "http://http/20240430/role/statement-note-7-leases-future-payments-due-details"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_FinanceLeaseLiability",
        "terseLabel": "Total lease liability, Financing Lease",
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease."
       }
      }
     },
     "auth_ref": [
      "r306",
      "r316"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinanceLeaseLiabilityCurrent",
     "crdr": "credit",
     "presentation": [
      "http://http/20240430/role/statement-note-7-leases-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_FinanceLeaseLiabilityCurrent",
        "terseLabel": "Finance Lease, Liability, Current",
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as current."
       }
      }
     },
     "auth_ref": [
      "r306"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList",
     "presentation": [
      "http://http/20240430/role/statement-note-7-leases-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList",
        "terseLabel": "Finance Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration]",
        "documentation": "Indicates line item in statement of financial position that includes current finance lease liability."
       }
      }
     },
     "auth_ref": [
      "r307"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinanceLeaseLiabilityNoncurrent",
     "crdr": "credit",
     "presentation": [
      "http://http/20240430/role/statement-note-7-leases-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_FinanceLeaseLiabilityNoncurrent",
        "terseLabel": "Finance Lease, Liability, Noncurrent",
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r306"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList",
     "presentation": [
      "http://http/20240430/role/statement-note-7-leases-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList",
        "terseLabel": "Finance Lease, Liability, Noncurrent, Statement of Financial Position [Extensible Enumeration]",
        "documentation": "Indicates line item in statement of financial position that includes noncurrent finance lease liability."
       }
      }
     },
     "auth_ref": [
      "r307"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinanceLeaseLiabilityPaymentsDue",
     "crdr": "credit",
     "calculation": {
      "http://http/20240430/role/statement-note-7-leases-future-payments-due-details": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-note-7-leases-future-payments-due-details"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
        "totalLabel": "Total undiscounted lease payments, Financing Lease",
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease."
       }
      }
     },
     "auth_ref": [
      "r316"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinanceLeaseLiabilityPaymentsDueNextTwelveMonths",
     "crdr": "credit",
     "calculation": {
      "http://http/20240430/role/statement-note-7-leases-future-payments-due-details": {
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-note-7-leases-future-payments-due-details"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2025, Financing Lease",
        "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": [
      "r316"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinanceLeaseLiabilityPaymentsDueYearTwo",
     "crdr": "credit",
     "calculation": {
      "http://http/20240430/role/statement-note-7-leases-future-payments-due-details": {
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-note-7-leases-future-payments-due-details"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2026, Financing Lease",
        "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": [
      "r316"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear",
     "crdr": "credit",
     "calculation": {
      "http://http/20240430/role/statement-note-7-leases-future-payments-due-details": {
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-note-7-leases-future-payments-due-details"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2024, Financing Lease",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in remainder of current fiscal year."
       }
      }
     },
     "auth_ref": [
      "r604"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinanceLeaseLiabilityUndiscountedExcessAmount",
     "crdr": "credit",
     "presentation": [
      "http://http/20240430/role/statement-note-7-leases-future-payments-due-details"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount",
        "negatedLabel": "Present value discount, Financing Lease",
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for finance lease."
       }
      }
     },
     "auth_ref": [
      "r316"
     ]
    },
    "us-gaap_FinanceLeasePrincipalPayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinanceLeasePrincipalPayments",
     "crdr": "credit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited",
      "http://http/20240430/role/statement-note-7-leases-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_FinanceLeasePrincipalPayments",
        "negatedLabel": "Principal payments on finance lease",
        "terseLabel": "Finance Lease, Principal Payments",
        "documentation": "Amount of cash outflow for principal payment on finance lease."
       }
      }
     },
     "auth_ref": [
      "r309",
      "r312"
     ]
    },
    "us-gaap_FinanceLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinanceLeaseRightOfUseAsset",
     "crdr": "debit",
     "presentation": [
      "http://http/20240430/role/statement-note-7-leases-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_FinanceLeaseRightOfUseAsset",
        "terseLabel": "Finance Lease, Right-of-Use Asset, after Accumulated Amortization",
        "documentation": "Amount, after accumulated amortization, of right-of-use asset from finance lease."
       }
      }
     },
     "auth_ref": [
      "r305"
     ]
    },
    "us-gaap_FinanceLeaseRightOfUseAssetAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinanceLeaseRightOfUseAssetAmortization",
     "crdr": "debit",
     "presentation": [
      "http://http/20240430/role/statement-note-7-leases-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_FinanceLeaseRightOfUseAssetAmortization",
        "terseLabel": "Finance Lease, Right-of-Use Asset, Amortization",
        "documentation": "Amount of amortization expense attributable to right-of-use asset from finance lease."
       }
      }
     },
     "auth_ref": [
      "r308",
      "r311",
      "r502"
     ]
    },
    "us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList",
     "presentation": [
      "http://http/20240430/role/statement-note-7-leases-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList",
        "terseLabel": "Finance Lease, Right-of-Use Asset, Statement of Financial Position [Extensible Enumeration]",
        "documentation": "Indicates line item in statement of financial position that includes finance lease right-of-use asset."
       }
      }
     },
     "auth_ref": [
      "r307"
     ]
    },
    "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GainLossOnSaleOfPropertyPlantEquipment",
     "crdr": "credit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_GainLossOnSaleOfPropertyPlantEquipment",
        "negatedLabel": "Loss on disposal of property and equipment",
        "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "us-gaap_GrossProfit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GrossProfit",
     "crdr": "credit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-operations-unaudited": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-operations-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_GrossProfit",
        "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": [
      "r44",
      "r48",
      "r78",
      "r106",
      "r157",
      "r190",
      "r191",
      "r192",
      "r193",
      "r194",
      "r195",
      "r196",
      "r197",
      "r198",
      "r292",
      "r483",
      "r485",
      "r545",
      "r547",
      "r548",
      "r549",
      "r550",
      "r565"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-operations-unaudited": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-operations-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
        "totalLabel": "Income (loss) before income taxes",
        "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r45",
      "r74",
      "r78",
      "r363",
      "r373",
      "r483",
      "r485",
      "r545",
      "r547",
      "r548",
      "r549",
      "r550"
     ]
    },
    "us-gaap_IncomeStatementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeStatementAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-operations-unaudited": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-operations-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income tax expense",
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r80",
      "r81",
      "r123",
      "r124",
      "r138",
      "r145",
      "r149",
      "r253",
      "r254",
      "r257",
      "r377",
      "r495"
     ]
    },
    "us-gaap_IncomeTaxesReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxesReceivable",
     "crdr": "debit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income taxes refundable - current",
        "documentation": "Carrying amount due within one year of the balance sheet date (or one operating cycle, if longer) from tax authorities as of the balance sheet date representing refunds of overpayments or recoveries based on agreed-upon resolutions of disputes."
       }
      }
     },
     "auth_ref": [
      "r68",
      "r537"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccountsPayableAndAccruedLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 13.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Accounts payable and accrued expenses",
        "label": "us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities",
        "documentation": "The increase (decrease) during the reporting period in the amounts payable to vendors for goods and services received and the amount of obligations and expenses incurred but not paid."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "crdr": "credit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_IncreaseDecreaseInAccountsReceivable",
        "negatedLabel": "Trade 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_IncreaseDecreaseInAccruedIncomeTaxesPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccruedIncomeTaxesPayable",
     "crdr": "debit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Income taxes payable",
        "label": "us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable",
        "documentation": "The increase (decrease) during the period in the amount due for taxes based on the reporting entity's earnings or attributable to the entity's income earning process (business presence) within a given jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInEmployeeRelatedLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 14.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Accrued compensation and payroll taxes",
        "label": "us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities",
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInInventories",
     "crdr": "credit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_IncreaseDecreaseInInventories",
        "negatedTerseLabel": "Inventories",
        "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "us-gaap_IncreaseDecreaseInOperatingAssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInOperatingAssetsAbstract",
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "(Increase) decrease in:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInOperatingLiabilitiesAbstract",
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (decrease) in:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInOtherNoncurrentLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Other noncurrent liabilities",
        "label": "us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities",
        "documentation": "Amount of increase (decrease) in noncurrent operating liabilities classified as other."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInOtherOperatingAssets",
     "crdr": "credit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_IncreaseDecreaseInOtherOperatingAssets",
        "negatedLabel": "Other assets",
        "documentation": "Amount of increase (decrease) in operating assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "us-gaap_IncreaseDecreaseInOtherReceivables": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInOtherReceivables",
     "crdr": "credit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_IncreaseDecreaseInOtherReceivables",
        "negatedTerseLabel": "Other receivables",
        "documentation": "Amount of increase (decrease) in receivables classified as other."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
     "crdr": "credit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
        "negatedLabel": "Prepaid expenses and other assets",
        "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "ecd_InsiderTradingArrLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "InsiderTradingArrLineItems",
     "auth_ref": [
      "r531"
     ]
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IntangibleAssetsNetExcludingGoodwill",
     "crdr": "debit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Intangible assets, net",
        "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges."
       }
      }
     },
     "auth_ref": [
      "r165",
      "r554",
      "r555"
     ]
    },
    "us-gaap_InterestExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InterestExpense",
     "crdr": "debit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-operations-unaudited": {
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-operations-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_InterestExpense",
        "negatedLabel": "Interest expense, net",
        "documentation": "Amount of interest expense classified as operating and nonoperating. Includes, but is not limited to, cost of borrowing accounted for as interest expense."
       }
      }
     },
     "auth_ref": [
      "r138",
      "r140",
      "r143",
      "r146",
      "r149",
      "r300",
      "r485",
      "r486"
     ]
    },
    "us-gaap_InventoryDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryDisclosureTextBlock",
     "presentation": [
      "http://http/20240430/role/statement-note-4-inventories"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory Disclosure [Text Block]",
        "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory."
       }
      }
     },
     "auth_ref": [
      "r164"
     ]
    },
    "us-gaap_InventoryFinishedGoodsNetOfReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryFinishedGoodsNetOfReserves",
     "crdr": "debit",
     "calculation": {
      "http://http/20240430/role/statement-note-4-inventories-components-of-inventories-details": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-note-4-inventories-components-of-inventories-details"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finished goods",
        "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale."
       }
      }
     },
     "auth_ref": [
      "r63",
      "r477"
     ]
    },
    "us-gaap_InventoryNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryNet",
     "crdr": "debit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 4.0
      },
      "http://http/20240430/role/statement-note-4-inventories-components-of-inventories-details": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited",
      "http://http/20240430/role/statement-note-4-inventories-components-of-inventories-details"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventories",
        "totalLabel": "Total",
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r94",
      "r476",
      "r503"
     ]
    },
    "us-gaap_InventoryRawMaterialsNetOfReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryRawMaterialsNetOfReserves",
     "crdr": "debit",
     "calculation": {
      "http://http/20240430/role/statement-note-4-inventories-components-of-inventories-details": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-note-4-inventories-components-of-inventories-details"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Raw materials",
        "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process."
       }
      }
     },
     "auth_ref": [
      "r63",
      "r479"
     ]
    },
    "us-gaap_InventorySuppliesNetOfReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventorySuppliesNetOfReserves",
     "crdr": "debit",
     "calculation": {
      "http://http/20240430/role/statement-note-4-inventories-components-of-inventories-details": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-note-4-inventories-components-of-inventories-details"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Production supplies",
        "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of products used directly or indirectly in the manufacturing or production process, which may or may not become part of the final product. May also include items used in the storage, presentation or transportation of physical goods."
       }
      }
     },
     "auth_ref": [
      "r63",
      "r480"
     ]
    },
    "us-gaap_InventoryWorkInProcessNetOfReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryWorkInProcessNetOfReserves",
     "crdr": "debit",
     "calculation": {
      "http://http/20240430/role/statement-note-4-inventories-components-of-inventories-details": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-note-4-inventories-components-of-inventories-details"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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": [
      "r63",
      "r478"
     ]
    },
    "us-gaap_LeaseContractualTermAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LeaseContractualTermAxis",
     "presentation": [
      "http://http/20240430/role/statement-note-7-leases-",
      "http://http/20240430/role/statement-note-7-leases-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lease Contractual Term [Axis]",
        "documentation": "Information by contractual term of lease arrangement."
       }
      }
     },
     "auth_ref": [
      "r318",
      "r536"
     ]
    },
    "us-gaap_LeaseContractualTermDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LeaseContractualTermDomain",
     "presentation": [
      "http://http/20240430/role/statement-note-7-leases-",
      "http://http/20240430/role/statement-note-7-leases-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lease Contractual Term [Domain]",
        "documentation": "Contractual term of lease arrangement."
       }
      }
     },
     "auth_ref": [
      "r318",
      "r536"
     ]
    },
    "dei_LegalEntityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "LegalEntityAxis",
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited",
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited-parentheticals",
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited",
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-operations-unaudited",
      "http://http/20240430/role/statement-document-and-entity-information",
      "http://http/20240430/role/statement-note-1-general",
      "http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations",
      "http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual",
      "http://http/20240430/role/statement-note-11-revenue-recognition",
      "http://http/20240430/role/statement-note-11-revenue-recognition-details-textual",
      "http://http/20240430/role/statement-note-11-revenue-recognition-schedule-of-revenue-from-external-customers-by-geographical-areas-details",
      "http://http/20240430/role/statement-note-11-revenue-recognition-tables",
      "http://http/20240430/role/statement-note-12-contingencies",
      "http://http/20240430/role/statement-note-13-new-accounting-standards-not-yet-adopted",
      "http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-",
      "http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual",
      "http://http/20240430/role/statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable",
      "http://http/20240430/role/statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-summary-of-changes-in-the-allowance-for-doubtful-accounts-for-trade-accounts-receivable-details",
      "http://http/20240430/role/statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-tables",
      "http://http/20240430/role/statement-note-4-inventories",
      "http://http/20240430/role/statement-note-4-inventories-components-of-inventories-details",
      "http://http/20240430/role/statement-note-4-inventories-tables",
      "http://http/20240430/role/statement-note-5-product-warranties",
      "http://http/20240430/role/statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details",
      "http://http/20240430/role/statement-note-5-product-warranties-details-textual",
      "http://http/20240430/role/statement-note-5-product-warranties-tables",
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable",
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual",
      "http://http/20240430/role/statement-note-7-leases-",
      "http://http/20240430/role/statement-note-7-leases-details-textual",
      "http://http/20240430/role/statement-note-7-leases-future-payments-due-details",
      "http://http/20240430/role/statement-note-7-leases-tables",
      "http://http/20240430/role/statement-note-8-fair-value-measurements",
      "http://http/20240430/role/statement-note-9-net-income-loss-per-share",
      "http://http/20240430/role/statement-note-9-net-income-loss-per-share-components-of-reconciliation-of-numerators-and-denominators-net-loss-per-share-details",
      "http://http/20240430/role/statement-note-9-net-income-loss-per-share-details-textual",
      "http://http/20240430/role/statement-note-9-net-income-loss-per-share-tables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Legal Entity [Axis]",
        "documentation": "The set of legal entities associated with a report."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeFinanceLeaseDiscountRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeFinanceLeaseDiscountRate",
     "presentation": [
      "http://http/20240430/role/statement-note-7-leases-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_LesseeFinanceLeaseDiscountRate",
        "terseLabel": "Lessee, Finance Lease, Discount Rate",
        "documentation": "Discount rate used by lessee to determine present value of finance lease payments."
       }
      }
     },
     "auth_ref": [
      "r603"
     ]
    },
    "us-gaap_LesseeFinanceLeaseRemainingLeaseTerm": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeFinanceLeaseRemainingLeaseTerm",
     "presentation": [
      "http://http/20240430/role/statement-note-7-leases-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_LesseeFinanceLeaseRemainingLeaseTerm",
        "terseLabel": "Lessee, Finance Lease, Remaining Lease Term",
        "documentation": "Remaining lease term of finance lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r318",
      "r601"
     ]
    },
    "occ_LesseeLeaseLiabilityMaturityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://http/20240430",
     "localname": "LesseeLeaseLiabilityMaturityTableTextBlock",
     "presentation": [
      "http://http/20240430/role/statement-note-7-leases-tables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Lease Liability, Maturity [Table Text Block]",
        "documentation": "Tabular disclosure of future payments for operating and finance lease obligations."
       }
      }
     },
     "auth_ref": []
    },
    "occ_LesseeOperatingAndFinanceLeasesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://http/20240430",
     "localname": "LesseeOperatingAndFinanceLeasesDisclosureTextBlock",
     "presentation": [
      "http://http/20240430/role/statement-note-7-leases-"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating and Finance Leases Disclosure [Text Block]",
        "documentation": "The entire disclosure for operating and finance leases of lessee. Includes, but is not limited to, description of lessee's operating and finance lease and maturity analysis of operating and finance lease liability."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "crdr": "credit",
     "calculation": {
      "http://http/20240430/role/statement-note-7-leases-future-payments-due-details": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-note-7-leases-future-payments-due-details"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
        "totalLabel": "Total undiscounted lease payments, Operating Lease",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease."
       }
      }
     },
     "auth_ref": [
      "r316"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "crdr": "credit",
     "calculation": {
      "http://http/20240430/role/statement-note-7-leases-future-payments-due-details": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-note-7-leases-future-payments-due-details"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2025, Operating Lease",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r316"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "crdr": "credit",
     "calculation": {
      "http://http/20240430/role/statement-note-7-leases-future-payments-due-details": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-note-7-leases-future-payments-due-details"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2026, Operating Lease",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r316"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
     "crdr": "credit",
     "calculation": {
      "http://http/20240430/role/statement-note-7-leases-future-payments-due-details": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-note-7-leases-future-payments-due-details"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2024, Operating Lease",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year."
       }
      }
     },
     "auth_ref": [
      "r604"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "crdr": "credit",
     "presentation": [
      "http://http/20240430/role/statement-note-7-leases-future-payments-due-details"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
        "negatedLabel": "Present value discount, Operating Lease",
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease."
       }
      }
     },
     "auth_ref": [
      "r316"
     ]
    },
    "us-gaap_LesseeOperatingLeaseTermOfContract": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseTermOfContract",
     "presentation": [
      "http://http/20240430/role/statement-note-7-leases-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_LesseeOperatingLeaseTermOfContract",
        "terseLabel": "Lessee, Operating Lease, Term of Contract",
        "documentation": "Term of lessee's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r602"
     ]
    },
    "us-gaap_Liabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Liabilities",
     "crdr": "credit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_Liabilities",
        "totalLabel": "Total liabilities",
        "documentation": "Amount of liability recognized for present obligation requiring transfer or otherwise providing economic benefit to others."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r26",
      "r27",
      "r28",
      "r31",
      "r32",
      "r33",
      "r34",
      "r106",
      "r157",
      "r190",
      "r191",
      "r192",
      "r193",
      "r194",
      "r195",
      "r196",
      "r197",
      "r198",
      "r268",
      "r269",
      "r270",
      "r292",
      "r408",
      "r482",
      "r525",
      "r565",
      "r606",
      "r607"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesAndStockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_LiabilitiesAndStockholdersEquity",
        "totalLabel": "Total liabilities and shareholders\u2019 equity",
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any."
       }
      }
     },
     "auth_ref": [
      "r40",
      "r73",
      "r371",
      "r503",
      "r540",
      "r553",
      "r599"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities and Shareholders\u2019 Equity"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_LiabilitiesCurrent",
        "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": [
      "r28",
      "r88",
      "r106",
      "r157",
      "r190",
      "r191",
      "r192",
      "r193",
      "r194",
      "r195",
      "r196",
      "r197",
      "r198",
      "r268",
      "r269",
      "r270",
      "r292",
      "r503",
      "r565",
      "r606",
      "r607"
     ]
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesCurrentAbstract",
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCredit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCredit",
     "crdr": "credit",
     "presentation": [
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_LineOfCredit",
        "terseLabel": "Long-Term Line of Credit",
        "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": [
      "r6",
      "r71",
      "r614"
     ]
    },
    "occ_LineOfCreditFacilityAdditionalCapacityForAdvances": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://http/20240430",
     "localname": "LineOfCreditFacilityAdditionalCapacityForAdvances",
     "crdr": "credit",
     "presentation": [
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "occ_LineOfCreditFacilityAdditionalCapacityForAdvances",
        "terseLabel": "Line of Credit Facility, Additional Capacity for Advances",
        "documentation": "Additional facility for advances."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCreditFacilityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityAxis",
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited",
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable",
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lender Name [Axis]",
        "documentation": "Information by name of lender, which may be a single entity (for example, but not limited to, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit."
       }
      }
     },
     "auth_ref": [
      "r25",
      "r30",
      "r539",
      "r563",
      "r564"
     ]
    },
    "us-gaap_LineOfCreditFacilityLenderDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityLenderDomain",
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited",
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable",
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility, Lender [Domain]",
        "documentation": "Identification of the lender, which may be a single entity (for example, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit, including a letter of credit facility."
       }
      }
     },
     "auth_ref": [
      "r25",
      "r30",
      "r539",
      "r563"
     ]
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity",
        "terseLabel": "Line of Credit Facility, Maximum Borrowing Capacity",
        "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility."
       }
      }
     },
     "auth_ref": [
      "r25",
      "r30"
     ]
    },
    "occ_LineOfCreditFacilityMaximumPercentageOfOutstandingEligibleAccountsLoanValue": {
     "xbrltype": "percentItemType",
     "nsuri": "http://http/20240430",
     "localname": "LineOfCreditFacilityMaximumPercentageOfOutstandingEligibleAccountsLoanValue",
     "presentation": [
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "occ_LineOfCreditFacilityMaximumPercentageOfOutstandingEligibleAccountsLoanValue",
        "terseLabel": "Line of Credit Facility, Maximum Percentage of Outstanding Eligible Accounts Loan Value",
        "documentation": "Percent of maximum outstanding eligible accounts loan value available for advance."
       }
      }
     },
     "auth_ref": []
    },
    "occ_LineOfCreditFacilityPercentOfEligibleAccounts": {
     "xbrltype": "percentItemType",
     "nsuri": "http://http/20240430",
     "localname": "LineOfCreditFacilityPercentOfEligibleAccounts",
     "presentation": [
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "occ_LineOfCreditFacilityPercentOfEligibleAccounts",
        "terseLabel": "Line of Credit Facility, Percent of Eligible Accounts",
        "documentation": "Percent of aggregate outstanding amount of eligible accounts available for advance."
       }
      }
     },
     "auth_ref": []
    },
    "occ_LineOfCreditFacilityPercentOfEligibleInventory": {
     "xbrltype": "percentItemType",
     "nsuri": "http://http/20240430",
     "localname": "LineOfCreditFacilityPercentOfEligibleInventory",
     "presentation": [
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "occ_LineOfCreditFacilityPercentOfEligibleInventory",
        "terseLabel": "Line of Credit Facility, Percent of Eligible Inventory",
        "documentation": "Percent of aggregate outstanding amount of eligible inventory available for advance."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityRemainingBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity",
        "terseLabel": "Line of Credit Facility, Remaining Borrowing Capacity",
        "documentation": "Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding)."
       }
      }
     },
     "auth_ref": [
      "r25",
      "r30",
      "r189"
     ]
    },
    "occ_LineOfCreditFacilityRestrictedCapacityForAdvances": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://http/20240430",
     "localname": "LineOfCreditFacilityRestrictedCapacityForAdvances",
     "crdr": "credit",
     "presentation": [
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "occ_LineOfCreditFacilityRestrictedCapacityForAdvances",
        "terseLabel": "Line of Credit Facility, Restricted Capacity for Advances",
        "documentation": "Additional limit to facility for advances."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LoansPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LoansPayableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current installments of long-term debt",
        "documentation": "Carrying value as of the balance sheet date of portion of long-term loans payable due within one year or the operating cycle if longer."
       }
      }
     },
     "auth_ref": [
      "r27"
     ]
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://http/20240430/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "dei_LocalPhoneNumber",
        "terseLabel": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LongTermDebtTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LongTermDebtTextBlock",
     "presentation": [
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Term Debt [Text Block]",
        "documentation": "The entire disclosure for long-term debt."
       }
      }
     },
     "auth_ref": [
      "r65"
     ]
    },
    "us-gaap_LongTermLineOfCredit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LongTermLineOfCredit",
     "crdr": "credit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note payable, revolver - noncurrent",
        "documentation": "The carrying value as of the balance sheet date of the noncurrent portion 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": [
      "r6",
      "r15",
      "r16"
     ]
    },
    "us-gaap_LongTermLoansPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LongTermLoansPayable",
     "crdr": "credit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited",
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-term debt, excluding current installments",
        "terseLabel": "Loans Payable, Noncurrent",
        "documentation": "Carrying value as of the balance sheet date of loans payable (with maturities initially due after one year or beyond the operating cycle if longer), excluding current portion."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "us-gaap_LongtermDebtTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LongtermDebtTypeAxis",
     "presentation": [
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable",
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Term Debt, Type [Axis]",
        "documentation": "Information by type of long-term debt."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r557",
      "r558",
      "r559"
     ]
    },
    "us-gaap_LongtermDebtTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LongtermDebtTypeDomain",
     "presentation": [
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable",
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Term Debt, Type [Domain]",
        "documentation": "Type of long-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r17",
      "r557",
      "r558",
      "r559"
     ]
    },
    "srt_MajorCustomersAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "MajorCustomersAxis",
     "presentation": [
      "http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations",
      "http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Axis]"
       }
      }
     },
     "auth_ref": [
      "r153",
      "r492",
      "r512",
      "r515",
      "r569",
      "r616",
      "r619",
      "r620",
      "r621",
      "r622",
      "r623",
      "r624",
      "r625",
      "r626",
      "r627",
      "r628",
      "r629",
      "r630",
      "r631",
      "r632",
      "r633",
      "r634",
      "r635",
      "r636",
      "r637",
      "r638",
      "r639",
      "r640",
      "r641",
      "r642",
      "r643",
      "r644",
      "r645"
     ]
    },
    "srt_MaximumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "MaximumMember",
     "presentation": [
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable",
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum [Member]"
       }
      }
     },
     "auth_ref": [
      "r172",
      "r173",
      "r174",
      "r175",
      "r217",
      "r252",
      "r282",
      "r326",
      "r378",
      "r379",
      "r388",
      "r400",
      "r401",
      "r451",
      "r453",
      "r455",
      "r456",
      "r458",
      "r472",
      "r473",
      "r488",
      "r490",
      "r493",
      "r497",
      "r498",
      "r499",
      "r500",
      "r513",
      "r567",
      "r608",
      "r609",
      "r610",
      "r611",
      "r612",
      "r613"
     ]
    },
    "srt_MinimumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "MinimumMember",
     "presentation": [
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable",
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum [Member]"
       }
      }
     },
     "auth_ref": [
      "r172",
      "r173",
      "r174",
      "r175",
      "r217",
      "r252",
      "r282",
      "r326",
      "r378",
      "r379",
      "r388",
      "r400",
      "r401",
      "r451",
      "r453",
      "r455",
      "r456",
      "r458",
      "r472",
      "r473",
      "r488",
      "r490",
      "r493",
      "r497",
      "r498",
      "r499",
      "r513",
      "r567",
      "r608",
      "r609",
      "r610",
      "r611",
      "r612",
      "r613"
     ]
    },
    "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]"
       }
      }
     },
     "auth_ref": [
      "r532"
     ]
    },
    "srt_NameOfMajorCustomerDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "NameOfMajorCustomerDomain",
     "presentation": [
      "http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations",
      "http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Domain]"
       }
      }
     },
     "auth_ref": [
      "r153",
      "r492",
      "r512",
      "r515",
      "r569",
      "r616",
      "r619",
      "r620",
      "r621",
      "r622",
      "r623",
      "r624",
      "r625",
      "r626",
      "r627",
      "r628",
      "r629",
      "r630",
      "r631",
      "r632",
      "r633",
      "r634",
      "r635",
      "r636",
      "r637",
      "r638",
      "r639",
      "r640",
      "r641",
      "r642",
      "r643",
      "r644",
      "r645"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "crdr": "debit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
        "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": [
      "r104"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from financing activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "crdr": "debit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
        "totalLabel": "Net cash provided by (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": [
      "r104"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from investing activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
        "totalLabel": "Net cash provided by (used in) operating activities",
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities."
       }
      }
     },
     "auth_ref": [
      "r56",
      "r57",
      "r58"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from operating activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 2.0
      },
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-operations-unaudited": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited",
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-operations-unaudited",
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-shareholders-equity-unaudited",
      "http://http/20240430/role/statement-note-9-net-income-loss-per-share-components-of-reconciliation-of-numerators-and-denominators-net-loss-per-share-details"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net loss",
        "totalLabel": "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": [
      "r49",
      "r58",
      "r75",
      "r86",
      "r96",
      "r97",
      "r100",
      "r106",
      "r112",
      "r116",
      "r117",
      "r118",
      "r119",
      "r120",
      "r123",
      "r124",
      "r130",
      "r157",
      "r190",
      "r191",
      "r192",
      "r193",
      "r194",
      "r195",
      "r196",
      "r197",
      "r198",
      "r263",
      "r266",
      "r281",
      "r292",
      "r374",
      "r431",
      "r446",
      "r447",
      "r524",
      "r565"
     ]
    },
    "us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
     "presentation": [
      "http://http/20240430/role/statement-note-13-new-accounting-standards-not-yet-adopted"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Standards Update and Change in Accounting Principle [Text Block]",
        "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": [
      "r82",
      "r85",
      "r110",
      "r111",
      "r114",
      "r115",
      "r125",
      "r126",
      "r154",
      "r159",
      "r160",
      "r261",
      "r262",
      "r264",
      "r266",
      "r276",
      "r278",
      "r319",
      "r321",
      "r322",
      "r328",
      "r329",
      "r330",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387"
     ]
    },
    "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": "ecd_NonRule10b51ArrAdoptedFlag",
        "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted [Flag]"
       }
      }
     },
     "auth_ref": [
      "r532"
     ]
    },
    "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": "ecd_NonRule10b51ArrTrmntdFlag",
        "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated [Flag]"
       }
      }
     },
     "auth_ref": [
      "r532"
     ]
    },
    "us-gaap_NonUsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NonUsMember",
     "presentation": [
      "http://http/20240430/role/statement-note-11-revenue-recognition",
      "http://http/20240430/role/statement-note-11-revenue-recognition-schedule-of-revenue-from-external-customers-by-geographical-areas-details"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-US [Member]",
        "documentation": "Countries excluding the United States of America (US)."
       }
      }
     },
     "auth_ref": [
      "r649",
      "r650",
      "r651",
      "r652"
     ]
    },
    "us-gaap_NonoperatingIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NonoperatingIncomeExpense",
     "crdr": "credit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-operations-unaudited": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-operations-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_NonoperatingIncomeExpense",
        "totalLabel": "Other income (expense), 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": [
      "r51"
     ]
    },
    "occ_NorthMillCapitalLlcMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://http/20240430",
     "localname": "NorthMillCapitalLlcMember",
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited",
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable",
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "North Mill Capital LLC [Member]",
        "documentation": "Represents North Mill Capital LLC."
       }
      }
     },
     "auth_ref": []
    },
    "occ_NoteToFinancialStatementDetailsTextual": {
     "xbrltype": "stringItemType",
     "nsuri": "http://http/20240430",
     "localname": "NoteToFinancialStatementDetailsTextual",
     "lang": {
      "en-us": {
       "role": {
        "label": "Note To Financial Statement Details Textual"
       }
      }
     },
     "auth_ref": []
    },
    "occ_NotesToFinancialStatementsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://http/20240430",
     "localname": "NotesToFinancialStatementsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Notes To Financial Statements [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NumberOfReportableSegments": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NumberOfReportableSegments",
     "presentation": [
      "http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_NumberOfReportableSegments",
        "terseLabel": "Number of Reportable Segments",
        "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": [
      "r484",
      "r487",
      "r546"
     ]
    },
    "occ_OneCustomerMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://http/20240430",
     "localname": "OneCustomerMember",
     "presentation": [
      "http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations",
      "http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "One Customer [Member]",
        "documentation": "Represents one customer."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-operations-unaudited": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-operations-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_OperatingIncomeLoss",
        "totalLabel": "Income (loss) from operations",
        "documentation": "The net result for the period of deducting operating expenses from operating revenues."
       }
      }
     },
     "auth_ref": [
      "r78",
      "r483",
      "r545",
      "r547",
      "r548",
      "r549",
      "r550"
     ]
    },
    "us-gaap_OperatingLeaseExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseExpense",
     "crdr": "debit",
     "presentation": [
      "http://http/20240430/role/statement-note-7-leases-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_OperatingLeaseExpense",
        "terseLabel": "Operating Lease, Expense",
        "documentation": "Amount of operating lease expense. Excludes sublease income."
       }
      }
     },
     "auth_ref": [
      "r600"
     ]
    },
    "occ_OperatingLeaseForOfficeEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://http/20240430",
     "localname": "OperatingLeaseForOfficeEquipmentMember",
     "presentation": [
      "http://http/20240430/role/statement-note-7-leases-",
      "http://http/20240430/role/statement-note-7-leases-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease For Office Equipment [Member]",
        "documentation": "Represents operating lease for office equipment."
       }
      }
     },
     "auth_ref": []
    },
    "occ_OperatingLeaseForOfficeManufacturingAndWarehouseSpaceInPlanoTexasMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://http/20240430",
     "localname": "OperatingLeaseForOfficeManufacturingAndWarehouseSpaceInPlanoTexasMember",
     "presentation": [
      "http://http/20240430/role/statement-note-7-leases-",
      "http://http/20240430/role/statement-note-7-leases-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease for Office, Manufacturing and Warehouse Space in Plano, Texas [Member]",
        "documentation": "Represents the operating lease arrangement related to the office, manufacturing and warehouse space in Plano, Texas."
       }
      }
     },
     "auth_ref": []
    },
    "occ_OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://http/20240430",
     "localname": "OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember",
     "presentation": [
      "http://http/20240430/role/statement-note-7-leases-",
      "http://http/20240430/role/statement-note-7-leases-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease for Warehouse Space in Roanoke, Virginia [Member]",
        "documentation": "Represents the operating lease agreement for warehouse space in Roanoke, Virginia."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseLiability",
     "crdr": "credit",
     "presentation": [
      "http://http/20240430/role/statement-note-7-leases-future-payments-due-details"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_OperatingLeaseLiability",
        "terseLabel": "Total lease liability, Operating Lease",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease."
       }
      }
     },
     "auth_ref": [
      "r306"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseLiabilityCurrent",
     "crdr": "credit",
     "presentation": [
      "http://http/20240430/role/statement-note-7-leases-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_OperatingLeaseLiabilityCurrent",
        "terseLabel": "Operating Lease, Liability, Current",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current."
       }
      }
     },
     "auth_ref": [
      "r306"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList",
     "presentation": [
      "http://http/20240430/role/statement-note-7-leases-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList",
        "terseLabel": "Operating Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration]",
        "documentation": "Indicates line item in statement of financial position that includes current operating lease liability."
       }
      }
     },
     "auth_ref": [
      "r307"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "crdr": "credit",
     "presentation": [
      "http://http/20240430/role/statement-note-7-leases-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_OperatingLeaseLiabilityNoncurrent",
        "terseLabel": "Operating Lease, Liability, Noncurrent",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r306"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList",
     "presentation": [
      "http://http/20240430/role/statement-note-7-leases-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList",
        "terseLabel": "Operating Lease, Liability, Noncurrent, Statement of Financial Position [Extensible Enumeration]",
        "documentation": "Indicates line item in statement of financial position that includes noncurrent operating lease liability."
       }
      }
     },
     "auth_ref": [
      "r307"
     ]
    },
    "us-gaap_OperatingLeasePayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeasePayments",
     "crdr": "credit",
     "presentation": [
      "http://http/20240430/role/statement-note-7-leases-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_OperatingLeasePayments",
        "terseLabel": "Operating Lease, Payments",
        "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": [
      "r310",
      "r312"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseRightOfUseAsset",
     "crdr": "debit",
     "presentation": [
      "http://http/20240430/role/statement-note-7-leases-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_OperatingLeaseRightOfUseAsset",
        "terseLabel": "Operating Lease, Right-of-Use Asset",
        "documentation": "Amount of lessee's right to use underlying asset under operating lease."
       }
      }
     },
     "auth_ref": [
      "r305"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList",
     "presentation": [
      "http://http/20240430/role/statement-note-7-leases-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList",
        "terseLabel": "Operating Lease, Right-of-Use Asset, Statement of Financial Position [Extensible Enumeration]",
        "documentation": "Indicates line item in statement of financial position that includes operating lease right-of-use asset."
       }
      }
     },
     "auth_ref": [
      "r307"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "presentation": [
      "http://http/20240430/role/statement-note-7-leases-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent",
        "terseLabel": "Operating Lease, Weighted Average Discount Rate, Percent",
        "documentation": "Weighted average discount rate for operating lease calculated at point in time."
       }
      }
     },
     "auth_ref": [
      "r315",
      "r502"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "presentation": [
      "http://http/20240430/role/statement-note-7-leases-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1",
        "terseLabel": "Operating Lease, Weighted Average Remaining Lease Term",
        "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r314",
      "r502"
     ]
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
     "presentation": [
      "http://http/20240430/role/statement-note-1-general"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]",
        "documentation": "The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r67",
      "r390",
      "r391"
     ]
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherAssetsNoncurrent",
     "crdr": "debit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other assets, net",
        "documentation": "Amount of noncurrent assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r90"
     ]
    },
    "us-gaap_OtherIncomeAndExpensesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherIncomeAndExpensesAbstract",
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-operations-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other income (expense), net:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherLiabilitiesNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherLiabilitiesNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other noncurrent liabilities",
        "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r32"
     ]
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherNonoperatingIncomeExpense",
     "crdr": "credit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-operations-unaudited": {
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-operations-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other, net",
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other."
       }
      }
     },
     "auth_ref": [
      "r52"
     ]
    },
    "us-gaap_OtherReceivables": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherReceivables",
     "crdr": "debit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other receivables",
        "documentation": "Amount due from parties in nontrade transactions, classified as other."
       }
      }
     },
     "auth_ref": [
      "r92",
      "r418",
      "r486",
      "r615"
     ]
    },
    "us-gaap_PaymentsOfFinancingCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsOfFinancingCosts",
     "crdr": "credit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_PaymentsOfFinancingCosts",
        "negatedLabel": "Payments for financing costs",
        "documentation": "The cash outflow for loan and debt issuance costs."
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation",
     "crdr": "credit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation",
        "negatedLabel": "Payroll taxes withheld and remitted on share-based payments",
        "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r103"
     ]
    },
    "us-gaap_PaymentsToAcquireIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsToAcquireIntangibleAssets",
     "crdr": "credit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_PaymentsToAcquireIntangibleAssets",
        "negatedLabel": "Investment in intangible assets",
        "documentation": "The cash outflow to acquire asset without physical form usually arising from contractual or other legal rights, excluding goodwill."
       }
      }
     },
     "auth_ref": [
      "r54"
     ]
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment",
        "negatedLabel": "Purchase of and deposits for the purchase of property and equipment",
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets."
       }
      }
     },
     "auth_ref": [
      "r54"
     ]
    },
    "occ_Plan2017Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://http/20240430",
     "localname": "Plan2017Member",
     "presentation": [
      "http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-",
      "http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan 2017 [Member]",
        "documentation": "Represents 2017 stock incentive plan."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PlanNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PlanNameAxis",
     "presentation": [
      "http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-",
      "http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan Name [Axis]",
        "documentation": "Information by plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r571",
      "r572",
      "r573",
      "r574",
      "r575",
      "r576",
      "r577",
      "r578",
      "r579",
      "r580",
      "r581",
      "r582",
      "r583",
      "r584",
      "r585",
      "r586",
      "r587",
      "r588",
      "r589",
      "r590",
      "r591",
      "r592",
      "r593",
      "r594",
      "r595",
      "r596"
     ]
    },
    "us-gaap_PlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PlanNameDomain",
     "presentation": [
      "http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-",
      "http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan Name [Domain]",
        "documentation": "Plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r571",
      "r572",
      "r573",
      "r574",
      "r575",
      "r576",
      "r577",
      "r578",
      "r579",
      "r580",
      "r581",
      "r582",
      "r583",
      "r584",
      "r585",
      "r586",
      "r587",
      "r588",
      "r589",
      "r590",
      "r591",
      "r592",
      "r593",
      "r594",
      "r595",
      "r596"
     ]
    },
    "us-gaap_PreferredStockNoParValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PreferredStockNoParValue",
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited-parentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_PreferredStockNoParValue",
        "terseLabel": "Preferred Stock, No Par Value (in dollars per share)",
        "documentation": "Face amount per share of no-par value preferred stock nonredeemable or redeemable solely at the option of the issuer."
       }
      }
     },
     "auth_ref": [
      "r35",
      "r568"
     ]
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PreferredStockSharesAuthorized",
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited-parentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_PreferredStockSharesAuthorized",
        "terseLabel": "Preferred Stock, Shares Authorized (in shares)",
        "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": [
      "r35",
      "r410"
     ]
    },
    "us-gaap_PreferredStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PreferredStockSharesIssued",
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited-parentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_PreferredStockSharesIssued",
        "terseLabel": "Preferred Stock, Shares Issued (in shares)",
        "documentation": "Number of shares issued for nonredeemable preferred shares and preferred shares redeemable solely at option of issuer. Includes, but is not limited to, preferred shares issued, repurchased, and held as treasury shares. Excludes preferred shares classified as debt."
       }
      }
     },
     "auth_ref": [
      "r35",
      "r200"
     ]
    },
    "us-gaap_PreferredStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PreferredStockSharesOutstanding",
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited-parentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_PreferredStockSharesOutstanding",
        "terseLabel": "Preferred Stock, Shares Outstanding (in shares)",
        "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": [
      "r35",
      "r410",
      "r429",
      "r647",
      "r648"
     ]
    },
    "us-gaap_PreferredStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PreferredStockValue",
     "crdr": "credit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred stock, no par value, authorized 1,000,000 shares; none issued and outstanding",
        "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity."
       }
      }
     },
     "auth_ref": [
      "r35",
      "r368",
      "r503"
     ]
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepaid expenses and other assets",
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r538"
     ]
    },
    "us-gaap_ProceedsFromInsuranceSettlementInvestingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProceedsFromInsuranceSettlementInvestingActivities",
     "crdr": "debit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insurance proceeds, net",
        "documentation": "Amount of cash inflow for proceeds from settlement of insurance claim, classified as investing activities. Excludes insurance settlement classified as operating activities."
       }
      }
     },
     "auth_ref": [
      "r1",
      "r8"
     ]
    },
    "us-gaap_ProceedsFromNotesPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProceedsFromNotesPayable",
     "crdr": "debit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from note payable, revolver",
        "documentation": "The cash inflow from a borrowing supported by a written promise to pay an obligation."
       }
      }
     },
     "auth_ref": [
      "r9"
     ]
    },
    "us-gaap_ProductWarrantyAccrual": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProductWarrantyAccrual",
     "crdr": "credit",
     "presentation": [
      "http://http/20240430/role/statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details",
      "http://http/20240430/role/statement-note-5-product-warranties-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_ProductWarrantyAccrual",
        "terseLabel": "Standard and Extended Product Warranty Accrual",
        "periodStartLabel": "Balance at beginning of period",
        "periodEndLabel": "Balance at end of period",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers."
       }
      }
     },
     "auth_ref": [
      "r70",
      "r180",
      "r184",
      "r188"
     ]
    },
    "us-gaap_ProductWarrantyAccrualPayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProductWarrantyAccrualPayments",
     "crdr": "debit",
     "presentation": [
      "http://http/20240430/role/statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_ProductWarrantyAccrualPayments",
        "negatedLabel": "Warranty claims and costs paid during the period",
        "documentation": "Amount of decrease in the standard and extended product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard and extended product warranty."
       }
      }
     },
     "auth_ref": [
      "r185"
     ]
    },
    "us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProductWarrantyAccrualPreexistingIncreaseDecrease",
     "crdr": "credit",
     "presentation": [
      "http://http/20240430/role/statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Changes in liability for pre-existing warranties during the period",
        "documentation": "Amount of increase (decrease) in the standard and extended product warranty accrual from changes in estimates attributable to preexisting product warranties."
       }
      }
     },
     "auth_ref": [
      "r187"
     ]
    },
    "us-gaap_ProductWarrantyAccrualWarrantiesIssued": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProductWarrantyAccrualWarrantiesIssued",
     "crdr": "credit",
     "presentation": [
      "http://http/20240430/role/statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities accrued for warranties issued during the period",
        "documentation": "Amount of increase in the standard and extended product warranty accrual from warranties issued."
       }
      }
     },
     "auth_ref": [
      "r186"
     ]
    },
    "us-gaap_ProductWarrantyDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProductWarrantyDisclosureTextBlock",
     "presentation": [
      "http://http/20240430/role/statement-note-5-product-warranties"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product Warranty Disclosure [Text Block]",
        "documentation": "The entire disclosure for standard and extended product warranties and other product guarantee contracts, including a tabular reconciliation of the changes in the guarantor's aggregate product warranty liability for the reporting period."
       }
      }
     },
     "auth_ref": [
      "r176",
      "r177",
      "r178",
      "r179",
      "r181",
      "r182"
     ]
    },
    "us-gaap_ProductWarrantyExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProductWarrantyExpense",
     "crdr": "debit",
     "presentation": [
      "http://http/20240430/role/statement-note-5-product-warranties-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_ProductWarrantyExpense",
        "terseLabel": "Product Warranty Expense",
        "documentation": "The expense charged against earnings for the period pertaining to standard and extended warranties on the entity's goods and services granted to customers."
       }
      }
     },
     "auth_ref": [
      "r2",
      "r562"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentNet",
     "crdr": "debit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property and equipment, net",
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r4",
      "r317",
      "r364",
      "r372",
      "r503"
     ]
    },
    "us-gaap_ProvisionForDoubtfulAccounts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProvisionForDoubtfulAccounts",
     "crdr": "debit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited",
      "http://http/20240430/role/statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-summary-of-changes-in-the-allowance-for-doubtful-accounts-for-trade-accounts-receivable-details"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Bad debt expense (recovery)",
        "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r102",
      "r163"
     ]
    },
    "srt_RangeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "RangeAxis",
     "presentation": [
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable",
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Axis]"
       }
      }
     },
     "auth_ref": [
      "r172",
      "r173",
      "r174",
      "r175",
      "r216",
      "r217",
      "r242",
      "r243",
      "r244",
      "r252",
      "r282",
      "r324",
      "r325",
      "r326",
      "r378",
      "r379",
      "r388",
      "r400",
      "r401",
      "r451",
      "r453",
      "r455",
      "r456",
      "r458",
      "r472",
      "r473",
      "r488",
      "r490",
      "r493",
      "r497",
      "r498",
      "r499",
      "r500",
      "r513",
      "r518",
      "r560",
      "r567",
      "r598",
      "r609",
      "r610",
      "r611",
      "r612",
      "r613"
     ]
    },
    "srt_RangeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "RangeMember",
     "presentation": [
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable",
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Domain]"
       }
      }
     },
     "auth_ref": [
      "r172",
      "r173",
      "r174",
      "r175",
      "r216",
      "r217",
      "r242",
      "r243",
      "r244",
      "r252",
      "r282",
      "r324",
      "r325",
      "r326",
      "r378",
      "r379",
      "r388",
      "r400",
      "r401",
      "r451",
      "r453",
      "r455",
      "r456",
      "r458",
      "r472",
      "r473",
      "r488",
      "r490",
      "r493",
      "r497",
      "r498",
      "r499",
      "r500",
      "r513",
      "r518",
      "r560",
      "r567",
      "r598",
      "r609",
      "r610",
      "r611",
      "r612",
      "r613"
     ]
    },
    "us-gaap_RepaymentsOfLongTermDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RepaymentsOfLongTermDebt",
     "crdr": "credit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_RepaymentsOfLongTermDebt",
        "negatedLabel": "Principal payments on 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": [
      "r55",
      "r393"
     ]
    },
    "us-gaap_RepaymentsOfNotesPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RepaymentsOfNotesPayable",
     "crdr": "credit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_RepaymentsOfNotesPayable",
        "negatedLabel": "Payments on note payable, revolver",
        "documentation": "The cash outflow for a borrowing supported by a written promise to pay an obligation."
       }
      }
     },
     "auth_ref": [
      "r55"
     ]
    },
    "us-gaap_RestrictedStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RestrictedStockMember",
     "presentation": [
      "http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-",
      "http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restricted Stock [Member]",
        "documentation": "Stock including a provision that prohibits sale or substantive sale of an equity instrument for a specified period of time or until specified performance conditions are met."
       }
      }
     },
     "auth_ref": [
      "r12"
     ]
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RetainedEarningsAccumulatedDeficit",
     "crdr": "credit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained earnings",
        "documentation": "Amount of accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r37",
      "r66",
      "r370",
      "r383",
      "r387",
      "r394",
      "r411",
      "r503"
     ]
    },
    "us-gaap_RetainedEarningsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RetainedEarningsMember",
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-shareholders-equity-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained Earnings [Member]",
        "documentation": "Accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r84",
      "r107",
      "r108",
      "r109",
      "r113",
      "r120",
      "r122",
      "r124",
      "r158",
      "r161",
      "r168",
      "r255",
      "r256",
      "r258",
      "r259",
      "r260",
      "r264",
      "r265",
      "r266",
      "r271",
      "r273",
      "r274",
      "r277",
      "r279",
      "r303",
      "r304",
      "r380",
      "r382",
      "r395",
      "r647"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueFromContractWithCustomerIncludingAssessedTax",
     "crdr": "credit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-operations-unaudited": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-operations-unaudited",
      "http://http/20240430/role/statement-note-11-revenue-recognition-schedule-of-revenue-from-external-customers-by-geographical-areas-details"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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": [
      "r76",
      "r77",
      "r138",
      "r141",
      "r142",
      "r147",
      "r149",
      "r150",
      "r151",
      "r153",
      "r212",
      "r213",
      "r327"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "presentation": [
      "http://http/20240430/role/statement-note-11-revenue-recognition"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from Contract with Customer [Text Block]",
        "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": [
      "r83",
      "r204",
      "r205",
      "r206",
      "r207",
      "r208",
      "r209",
      "r210",
      "r211",
      "r215"
     ]
    },
    "us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueFromExternalCustomersByGeographicAreasTableTextBlock",
     "presentation": [
      "http://http/20240430/role/statement-note-11-revenue-recognition-tables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from External Customers by Geographic Areas [Table Text Block]",
        "documentation": "Tabular disclosure of revenue from external customers by geographic areas attributed to the entity's country of domicile and to foreign countries from which the entity derives revenue."
       }
      }
     },
     "auth_ref": [
      "r61"
     ]
    },
    "us-gaap_RevolvingCreditFacilityMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevolvingCreditFacilityMember",
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited",
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable",
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revolving Credit Facility [Member]",
        "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability",
     "crdr": "debit",
     "presentation": [
      "http://http/20240430/role/statement-note-7-leases-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability",
        "terseLabel": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability",
        "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability."
       }
      }
     },
     "auth_ref": [
      "r313",
      "r502"
     ]
    },
    "occ_RoyaltyRevenueExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://http/20240430",
     "localname": "RoyaltyRevenueExpense",
     "crdr": "credit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-operations-unaudited": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-operations-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "occ_RoyaltyRevenueExpense",
        "negatedLabel": "Royalty expense, net",
        "documentation": "Net amount of revenue (expense) recognized during the period related to royalty transactions."
       }
      }
     },
     "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": "ecd_Rule10b51ArrAdoptedFlag",
        "terseLabel": "Rule 10b5-1 Arrangement Adopted [Flag]"
       }
      }
     },
     "auth_ref": [
      "r532"
     ]
    },
    "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": "ecd_Rule10b51ArrTrmntdFlag",
        "terseLabel": "Rule 10b5-1 Arrangement Terminated [Flag]"
       }
      }
     },
     "auth_ref": [
      "r532"
     ]
    },
    "us-gaap_SalesRevenueNetMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SalesRevenueNetMember",
     "presentation": [
      "http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations",
      "http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue Benchmark [Member]",
        "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation."
       }
      }
     },
     "auth_ref": [
      "r153",
      "r534"
     ]
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "presentation": [
      "http://http/20240430/role/statement-note-9-net-income-loss-per-share-tables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]",
        "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r544"
     ]
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "presentation": [
      "http://http/20240430/role/statement-note-4-inventories-tables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Inventory, Current [Table Text Block]",
        "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r41",
      "r42",
      "r43"
     ]
    },
    "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock",
     "presentation": [
      "http://http/20240430/role/statement-note-5-product-warranties-tables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Product Warranty Liability [Table Text Block]",
        "documentation": "Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability."
       }
      }
     },
     "auth_ref": [
      "r183"
     ]
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "Security12bTitle",
     "presentation": [
      "http://http/20240430/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r526"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://http/20240430/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r528"
     ]
    },
    "srt_SegmentGeographicalDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "SegmentGeographicalDomain",
     "presentation": [
      "http://http/20240430/role/statement-note-11-revenue-recognition",
      "http://http/20240430/role/statement-note-11-revenue-recognition-schedule-of-revenue-from-external-customers-by-geographical-areas-details"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Domain]"
       }
      }
     },
     "auth_ref": [
      "r151",
      "r152",
      "r331",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r397",
      "r398",
      "r399",
      "r452",
      "r454",
      "r457",
      "r459",
      "r460",
      "r463",
      "r464",
      "r465",
      "r466",
      "r467",
      "r468",
      "r469",
      "r470",
      "r471",
      "r474",
      "r491",
      "r504",
      "r505",
      "r506",
      "r507",
      "r508",
      "r509",
      "r510",
      "r511",
      "r514",
      "r518",
      "r569",
      "r616",
      "r619",
      "r620",
      "r621",
      "r622",
      "r623",
      "r624",
      "r625",
      "r626",
      "r627",
      "r628",
      "r629",
      "r630",
      "r631",
      "r632",
      "r633",
      "r634",
      "r635",
      "r636",
      "r637",
      "r638",
      "r639",
      "r640",
      "r641",
      "r642",
      "r643",
      "r644",
      "r645"
     ]
    },
    "us-gaap_SellingGeneralAndAdministrativeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SellingGeneralAndAdministrativeExpense",
     "crdr": "debit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-operations-unaudited": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-operations-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Selling, general and administrative expenses",
        "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc."
       }
      }
     },
     "auth_ref": [
      "r50"
     ]
    },
    "us-gaap_ShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensation",
     "crdr": "debit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based compensation expense",
        "documentation": "Amount of noncash expense for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod",
     "presentation": [
      "http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod",
        "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period",
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r236"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
     "presentation": [
      "http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
        "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period",
        "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": [
      "r234"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant",
     "presentation": [
      "http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant",
        "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of 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": [
      "r18"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "presentation": [
      "http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-",
      "http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Type [Domain]",
        "documentation": "Award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r220",
      "r221",
      "r222",
      "r223",
      "r224",
      "r225",
      "r226",
      "r227",
      "r228",
      "r229",
      "r230",
      "r231",
      "r232",
      "r233",
      "r234",
      "r235",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r244",
      "r245"
     ]
    },
    "us-gaap_SharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharesOutstanding",
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-shareholders-equity-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_SharesOutstanding",
        "periodStartLabel": "Balances (in shares)",
        "periodEndLabel": "Balances (in shares)",
        "documentation": "Number of shares issued which are neither cancelled nor held in the treasury."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharesPaidForTaxWithholdingForShareBasedCompensation",
     "presentation": [
      "http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation",
        "terseLabel": "Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation",
        "documentation": "Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementEquityComponentsAxis",
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-shareholders-equity-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Components [Axis]",
        "documentation": "Information by component of equity."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r36",
      "r38",
      "r39",
      "r84",
      "r98",
      "r99",
      "r100",
      "r107",
      "r108",
      "r109",
      "r113",
      "r120",
      "r122",
      "r124",
      "r139",
      "r158",
      "r161",
      "r168",
      "r201",
      "r255",
      "r256",
      "r258",
      "r259",
      "r260",
      "r264",
      "r265",
      "r266",
      "r271",
      "r272",
      "r273",
      "r274",
      "r275",
      "r277",
      "r279",
      "r293",
      "r294",
      "r295",
      "r296",
      "r297",
      "r298",
      "r303",
      "r304",
      "r320",
      "r375",
      "r380",
      "r381",
      "r382",
      "r395",
      "r448"
     ]
    },
    "srt_StatementGeographicalAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "StatementGeographicalAxis",
     "presentation": [
      "http://http/20240430/role/statement-note-11-revenue-recognition",
      "http://http/20240430/role/statement-note-11-revenue-recognition-schedule-of-revenue-from-external-customers-by-geographical-areas-details"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]"
       }
      }
     },
     "auth_ref": [
      "r151",
      "r152",
      "r331",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r397",
      "r398",
      "r399",
      "r452",
      "r454",
      "r457",
      "r459",
      "r460",
      "r463",
      "r464",
      "r465",
      "r466",
      "r467",
      "r468",
      "r469",
      "r470",
      "r471",
      "r474",
      "r491",
      "r504",
      "r505",
      "r506",
      "r507",
      "r508",
      "r509",
      "r510",
      "r511",
      "r514",
      "r518",
      "r569",
      "r616",
      "r619",
      "r620",
      "r621",
      "r622",
      "r623",
      "r624",
      "r625",
      "r626",
      "r627",
      "r628",
      "r629",
      "r630",
      "r631",
      "r632",
      "r633",
      "r634",
      "r635",
      "r636",
      "r637",
      "r638",
      "r639",
      "r640",
      "r641",
      "r642",
      "r643",
      "r644",
      "r645"
     ]
    },
    "us-gaap_StatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementLineItems",
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited",
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited-parentheticals",
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited",
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-operations-unaudited",
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-shareholders-equity-unaudited",
      "http://http/20240430/role/statement-note-1-general",
      "http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations",
      "http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual",
      "http://http/20240430/role/statement-note-11-revenue-recognition",
      "http://http/20240430/role/statement-note-11-revenue-recognition-details-textual",
      "http://http/20240430/role/statement-note-11-revenue-recognition-schedule-of-revenue-from-external-customers-by-geographical-areas-details",
      "http://http/20240430/role/statement-note-11-revenue-recognition-tables",
      "http://http/20240430/role/statement-note-12-contingencies",
      "http://http/20240430/role/statement-note-13-new-accounting-standards-not-yet-adopted",
      "http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-",
      "http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual",
      "http://http/20240430/role/statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable",
      "http://http/20240430/role/statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-summary-of-changes-in-the-allowance-for-doubtful-accounts-for-trade-accounts-receivable-details",
      "http://http/20240430/role/statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-tables",
      "http://http/20240430/role/statement-note-4-inventories",
      "http://http/20240430/role/statement-note-4-inventories-components-of-inventories-details",
      "http://http/20240430/role/statement-note-4-inventories-tables",
      "http://http/20240430/role/statement-note-5-product-warranties",
      "http://http/20240430/role/statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details",
      "http://http/20240430/role/statement-note-5-product-warranties-details-textual",
      "http://http/20240430/role/statement-note-5-product-warranties-tables",
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable",
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual",
      "http://http/20240430/role/statement-note-7-leases-",
      "http://http/20240430/role/statement-note-7-leases-details-textual",
      "http://http/20240430/role/statement-note-7-leases-future-payments-due-details",
      "http://http/20240430/role/statement-note-7-leases-tables",
      "http://http/20240430/role/statement-note-8-fair-value-measurements",
      "http://http/20240430/role/statement-note-9-net-income-loss-per-share",
      "http://http/20240430/role/statement-note-9-net-income-loss-per-share-components-of-reconciliation-of-numerators-and-denominators-net-loss-per-share-details",
      "http://http/20240430/role/statement-note-9-net-income-loss-per-share-details-textual",
      "http://http/20240430/role/statement-note-9-net-income-loss-per-share-tables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r107",
      "r108",
      "r109",
      "r139",
      "r304",
      "r327",
      "r392",
      "r396",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r410",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r419",
      "r420",
      "r421",
      "r422",
      "r424",
      "r425",
      "r426",
      "r427",
      "r428",
      "r430",
      "r432",
      "r433",
      "r434",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r440",
      "r441",
      "r442",
      "r443",
      "r444",
      "r445",
      "r448",
      "r519"
     ]
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementOfCashFlowsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Cash Flows [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementOfFinancialPositionAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Financial Position [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementOfStockholdersEquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Stockholders' Equity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementTable",
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited",
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited-parentheticals",
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited",
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-operations-unaudited",
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-shareholders-equity-unaudited",
      "http://http/20240430/role/statement-note-1-general",
      "http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations",
      "http://http/20240430/role/statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual",
      "http://http/20240430/role/statement-note-11-revenue-recognition",
      "http://http/20240430/role/statement-note-11-revenue-recognition-details-textual",
      "http://http/20240430/role/statement-note-11-revenue-recognition-schedule-of-revenue-from-external-customers-by-geographical-areas-details",
      "http://http/20240430/role/statement-note-11-revenue-recognition-tables",
      "http://http/20240430/role/statement-note-12-contingencies",
      "http://http/20240430/role/statement-note-13-new-accounting-standards-not-yet-adopted",
      "http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-",
      "http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual",
      "http://http/20240430/role/statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable",
      "http://http/20240430/role/statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-summary-of-changes-in-the-allowance-for-doubtful-accounts-for-trade-accounts-receivable-details",
      "http://http/20240430/role/statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-tables",
      "http://http/20240430/role/statement-note-4-inventories",
      "http://http/20240430/role/statement-note-4-inventories-components-of-inventories-details",
      "http://http/20240430/role/statement-note-4-inventories-tables",
      "http://http/20240430/role/statement-note-5-product-warranties",
      "http://http/20240430/role/statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details",
      "http://http/20240430/role/statement-note-5-product-warranties-details-textual",
      "http://http/20240430/role/statement-note-5-product-warranties-tables",
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable",
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual",
      "http://http/20240430/role/statement-note-7-leases-",
      "http://http/20240430/role/statement-note-7-leases-details-textual",
      "http://http/20240430/role/statement-note-7-leases-future-payments-due-details",
      "http://http/20240430/role/statement-note-7-leases-tables",
      "http://http/20240430/role/statement-note-8-fair-value-measurements",
      "http://http/20240430/role/statement-note-9-net-income-loss-per-share",
      "http://http/20240430/role/statement-note-9-net-income-loss-per-share-components-of-reconciliation-of-numerators-and-denominators-net-loss-per-share-details",
      "http://http/20240430/role/statement-note-9-net-income-loss-per-share-details-textual",
      "http://http/20240430/role/statement-note-9-net-income-loss-per-share-tables"
     ],
     "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": [
      "r107",
      "r108",
      "r109",
      "r139",
      "r155",
      "r304",
      "r327",
      "r392",
      "r396",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r410",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r419",
      "r420",
      "r421",
      "r422",
      "r424",
      "r425",
      "r426",
      "r427",
      "r428",
      "r430",
      "r432",
      "r433",
      "r434",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r440",
      "r441",
      "r442",
      "r443",
      "r444",
      "r445",
      "r448",
      "r519"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodSharesShareBasedCompensation",
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-shareholders-equity-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation",
        "negatedLabel": "Share-based compensation, net (in shares)",
        "documentation": "Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP)."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r35",
      "r36",
      "r66"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodValueShareBasedCompensation",
     "crdr": "credit",
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-shareholders-equity-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Share-based compensation, net",
        "label": "us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation",
        "documentation": "Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP)."
       }
      }
     },
     "auth_ref": [
      "r19",
      "r35",
      "r36",
      "r66"
     ]
    },
    "us-gaap_StockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited",
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-shareholders-equity-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_StockholdersEquity",
        "totalLabel": "Total shareholders\u2019 equity",
        "periodStartLabel": "Balances",
        "periodEndLabel": "Balances",
        "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r36",
      "r38",
      "r39",
      "r62",
      "r412",
      "r429",
      "r449",
      "r450",
      "r503",
      "r525",
      "r540",
      "r553",
      "r599",
      "r647"
     ]
    },
    "us-gaap_StockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquityAbstract",
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shareholders\u2019 equity:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SubsequentEventMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventMember",
     "presentation": [
      "http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-",
      "http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event [Member]",
        "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r299",
      "r323"
     ]
    },
    "us-gaap_SubsequentEventTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventTypeAxis",
     "presentation": [
      "http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-",
      "http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual"
     ],
     "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": [
      "r299",
      "r323"
     ]
    },
    "us-gaap_SubsequentEventTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventTypeDomain",
     "presentation": [
      "http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-",
      "http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual"
     ],
     "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": [
      "r299",
      "r323"
     ]
    },
    "occ_SummaryOfChangesInAllowanceForDoubtfulAccountsForTradeAccountsReceivableTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://http/20240430",
     "localname": "SummaryOfChangesInAllowanceForDoubtfulAccountsForTradeAccountsReceivableTableTextBlock",
     "presentation": [
      "http://http/20240430/role/statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-tables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Summary of Changes in the Allowance for Doubtful Accounts for Trade Accounts Receivable [Table Text Block]",
        "documentation": "Summary Of Changes In The Allowance For Doubtful Accounts For Trade Accounts Receivable [Table Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TableTextBlock": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TableTextBlock",
     "presentation": [
      "http://http/20240430/role/statement-note-11-revenue-recognition-tables",
      "http://http/20240430/role/statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-tables",
      "http://http/20240430/role/statement-note-4-inventories-tables",
      "http://http/20240430/role/statement-note-5-product-warranties-tables",
      "http://http/20240430/role/statement-note-7-leases-tables",
      "http://http/20240430/role/statement-note-9-net-income-loss-per-share-tables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_TableTextBlock",
        "terseLabel": "Notes Tables"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TaxesPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TaxesPayableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income taxes payable",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r26",
      "r27"
     ]
    },
    "srt_TitleOfIndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "TitleOfIndividualAxis",
     "presentation": [
      "http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-",
      "http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title and Position [Axis]"
       }
      }
     },
     "auth_ref": [
      "r551",
      "r605"
     ]
    },
    "srt_TitleOfIndividualWithRelationshipToEntityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "TitleOfIndividualWithRelationshipToEntityDomain",
     "presentation": [
      "http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-",
      "http://http/20240430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title and Position [Domain]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "TradingSymbol",
     "presentation": [
      "http://http/20240430/role/statement-document-and-entity-information"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Symbol",
        "documentation": "Trading symbol of an instrument as listed on an exchange."
       }
      }
     },
     "auth_ref": []
    },
    "country_US": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2024",
     "localname": "US",
     "presentation": [
      "http://http/20240430/role/statement-note-11-revenue-recognition",
      "http://http/20240430/role/statement-note-11-revenue-recognition-schedule-of-revenue-from-external-customers-by-geographical-areas-details"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "UNITED STATES"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UnusualOrInfrequentItemInsuranceProceeds": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "UnusualOrInfrequentItemInsuranceProceeds",
     "crdr": "credit",
     "calculation": {
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-operations-unaudited": {
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0,
       "order": 2.0
      },
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited",
      "http://http/20240430/role/statement-condensed-consolidated-statements-of-operations-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gain on insurance proceeds, net",
        "negatedLabel": "Gain on insurance proceeds, net",
        "documentation": "Amount of insurance proceeds for an event or transaction that is unusual in nature or infrequent in occurrence, or both."
       }
      }
     },
     "auth_ref": [
      "r53"
     ]
    },
    "occ_VirginiaRealEstateLoanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://http/20240430",
     "localname": "VirginiaRealEstateLoanMember",
     "presentation": [
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable",
      "http://http/20240430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Virginia Real Estate Loan [Member]",
        "documentation": "The name of a real estate loan."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "presentation": [
      "http://http/20240430/role/statement-note-9-net-income-loss-per-share-components-of-reconciliation-of-numerators-and-denominators-net-loss-per-share-details"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shares (denominator) (in 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": [
      "r128",
      "r133"
     ]
    },
    "occ_statement-statement-note-11-revenue-recognition-schedule-of-revenue-from-external-customers-by-geographical-areas-details": {
     "xbrltype": "stringItemType",
     "nsuri": "http://http/20240430",
     "localname": "statement-statement-note-11-revenue-recognition-schedule-of-revenue-from-external-customers-by-geographical-areas-details",
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 11 - Revenue Recognition - Schedule of Revenue from External Customers by Geographical Areas (Details)"
       }
      }
     },
     "auth_ref": []
    },
    "occ_statement-statement-note-11-revenue-recognition-tables": {
     "xbrltype": "stringItemType",
     "nsuri": "http://http/20240430",
     "localname": "statement-statement-note-11-revenue-recognition-tables",
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 11 - Revenue Recognition"
       }
      }
     },
     "auth_ref": []
    },
    "occ_statement-statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-summary-of-changes-in-the-allowance-for-doubtful-accounts-for-trade-accounts-receivable-details": {
     "xbrltype": "stringItemType",
     "nsuri": "http://http/20240430",
     "localname": "statement-statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-summary-of-changes-in-the-allowance-for-doubtful-accounts-for-trade-accounts-receivable-details",
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 3 - Allowance for Credit Losses for Trade Accounts Receivable - Summary of Changes in the Allowance for Doubtful Accounts for Trade Accounts Receivable (Details)"
       }
      }
     },
     "auth_ref": []
    },
    "occ_statement-statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-tables": {
     "xbrltype": "stringItemType",
     "nsuri": "http://http/20240430",
     "localname": "statement-statement-note-3-allowance-for-credit-losses-for-trade-accounts-receivable-tables",
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 3 - Allowance for Credit Losses for Trade Accounts Receivable"
       }
      }
     },
     "auth_ref": []
    },
    "occ_statement-statement-note-4-inventories-components-of-inventories-details": {
     "xbrltype": "stringItemType",
     "nsuri": "http://http/20240430",
     "localname": "statement-statement-note-4-inventories-components-of-inventories-details",
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 4 - Inventories - Components of Inventories (Details)"
       }
      }
     },
     "auth_ref": []
    },
    "occ_statement-statement-note-4-inventories-tables": {
     "xbrltype": "stringItemType",
     "nsuri": "http://http/20240430",
     "localname": "statement-statement-note-4-inventories-tables",
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 4 - Inventories"
       }
      }
     },
     "auth_ref": []
    },
    "occ_statement-statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details": {
     "xbrltype": "stringItemType",
     "nsuri": "http://http/20240430",
     "localname": "statement-statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details",
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 5 - Product Warranties - Changes in Accrual for Product Warranties (Details)"
       }
      }
     },
     "auth_ref": []
    },
    "occ_statement-statement-note-5-product-warranties-tables": {
     "xbrltype": "stringItemType",
     "nsuri": "http://http/20240430",
     "localname": "statement-statement-note-5-product-warranties-tables",
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 5 - Product Warranties"
       }
      }
     },
     "auth_ref": []
    },
    "occ_statement-statement-note-7-leases-future-payments-due-details": {
     "xbrltype": "stringItemType",
     "nsuri": "http://http/20240430",
     "localname": "statement-statement-note-7-leases-future-payments-due-details",
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 7 - Leases - Future Payments Due (Details)"
       }
      }
     },
     "auth_ref": []
    },
    "occ_statement-statement-note-7-leases-tables": {
     "xbrltype": "stringItemType",
     "nsuri": "http://http/20240430",
     "localname": "statement-statement-note-7-leases-tables",
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 7 - Leases"
       }
      }
     },
     "auth_ref": []
    },
    "occ_statement-statement-note-9-net-income-loss-per-share-components-of-reconciliation-of-numerators-and-denominators-net-loss-per-share-details": {
     "xbrltype": "stringItemType",
     "nsuri": "http://http/20240430",
     "localname": "statement-statement-note-9-net-income-loss-per-share-components-of-reconciliation-of-numerators-and-denominators-net-loss-per-share-details",
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 9 - Net Income (Loss) Per Share - Components of Reconciliation of Numerators and Denominators Net Loss Per Share (Details)"
       }
      }
     },
     "auth_ref": []
    },
    "occ_statement-statement-note-9-net-income-loss-per-share-tables": {
     "xbrltype": "stringItemType",
     "nsuri": "http://http/20240430",
     "localname": "statement-statement-note-9-net-income-loss-per-share-tables",
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 9 - Net Income (Loss) Per Share"
       }
      }
     },
     "auth_ref": []
    }
   }
  }
 },
 "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": "21B",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-21B"
  },
  "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": "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"
  },
  "r7": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483489/210-10-50-1"
  },
  "r8": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-12"
  },
  "r9": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-14"
  },
  "r10": {
   "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"
  },
  "r11": {
   "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"
  },
  "r12": {
   "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"
  },
  "r13": {
   "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"
  },
  "r14": {
   "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"
  },
  "r15": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481573/470-10-45-13"
  },
  "r16": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481573/470-10-45-14"
  },
  "r17": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-5"
  },
  "r18": {
   "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"
  },
  "r19": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r20": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A"
  },
  "r21": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B"
  },
  "r22": {
   "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"
  },
  "r23": {
   "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"
  },
  "r24": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "205",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/205/tableOfContent"
  },
  "r25": {
   "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"
  },
  "r26": {
   "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"
  },
  "r27": {
   "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"
  },
  "r28": {
   "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"
  },
  "r29": {
   "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"
  },
  "r30": {
   "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"
  },
  "r31": {
   "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"
  },
  "r32": {
   "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"
  },
  "r33": {
   "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"
  },
  "r34": {
   "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"
  },
  "r35": {
   "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"
  },
  "r36": {
   "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"
  },
  "r37": {
   "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"
  },
  "r38": {
   "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"
  },
  "r39": {
   "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"
  },
  "r40": {
   "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"
  },
  "r41": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r42": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r43": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r44": {
   "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"
  },
  "r45": {
   "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"
  },
  "r46": {
   "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"
  },
  "r47": {
   "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"
  },
  "r48": {
   "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"
  },
  "r49": {
   "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"
  },
  "r50": {
   "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"
  },
  "r51": {
   "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"
  },
  "r52": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r53": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483613/220-20-50-1"
  },
  "r54": {
   "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"
  },
  "r55": {
   "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"
  },
  "r56": {
   "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"
  },
  "r57": {
   "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"
  },
  "r58": {
   "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"
  },
  "r59": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "275",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/275/tableOfContent"
  },
  "r60": {
   "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"
  },
  "r61": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "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"
  },
  "r62": {
   "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"
  },
  "r63": {
   "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"
  },
  "r64": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "440",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/440/tableOfContent"
  },
  "r65": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "470",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/470/tableOfContent"
  },
  "r66": {
   "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"
  },
  "r67": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "810",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/810/tableOfContent"
  },
  "r68": {
   "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(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r69": {
   "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"
  },
  "r70": {
   "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)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r71": {
   "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"
  },
  "r72": {
   "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"
  },
  "r73": {
   "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"
  },
  "r74": {
   "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"
  },
  "r75": {
   "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"
  },
  "r76": {
   "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"
  },
  "r77": {
   "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"
  },
  "r78": {
   "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"
  },
  "r79": {
   "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"
  },
  "r80": {
   "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"
  },
  "r81": {
   "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"
  },
  "r82": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "250",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/250/tableOfContent"
  },
  "r83": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/606/tableOfContent"
  },
  "r84": {
   "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"
  },
  "r85": {
   "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"
  },
  "r86": {
   "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"
  },
  "r87": {
   "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"
  },
  "r88": {
   "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"
  },
  "r89": {
   "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"
  },
  "r90": {
   "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"
  },
  "r91": {
   "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"
  },
  "r92": {
   "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(3)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r93": {
   "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"
  },
  "r94": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r95": {
   "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"
  },
  "r96": {
   "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"
  },
  "r97": {
   "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"
  },
  "r98": {
   "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"
  },
  "r99": {
   "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"
  },
  "r100": {
   "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"
  },
  "r101": {
   "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"
  },
  "r102": {
   "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(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r103": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15"
  },
  "r104": {
   "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"
  },
  "r105": {
   "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"
  },
  "r106": {
   "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"
  },
  "r107": {
   "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"
  },
  "r108": {
   "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"
  },
  "r109": {
   "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"
  },
  "r110": {
   "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"
  },
  "r111": {
   "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"
  },
  "r112": {
   "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"
  },
  "r113": {
   "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"
  },
  "r114": {
   "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"
  },
  "r115": {
   "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"
  },
  "r116": {
   "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"
  },
  "r117": {
   "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"
  },
  "r118": {
   "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"
  },
  "r119": {
   "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"
  },
  "r120": {
   "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"
  },
  "r121": {
   "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"
  },
  "r122": {
   "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"
  },
  "r123": {
   "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"
  },
  "r124": {
   "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"
  },
  "r125": {
   "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"
  },
  "r126": {
   "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"
  },
  "r127": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/260/tableOfContent"
  },
  "r128": {
   "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"
  },
  "r129": {
   "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"
  },
  "r130": {
   "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"
  },
  "r131": {
   "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"
  },
  "r132": {
   "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"
  },
  "r133": {
   "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"
  },
  "r134": {
   "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"
  },
  "r135": {
   "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"
  },
  "r136": {
   "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"
  },
  "r137": {
   "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"
  },
  "r138": {
   "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"
  },
  "r139": {
   "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"
  },
  "r140": {
   "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"
  },
  "r141": {
   "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"
  },
  "r142": {
   "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"
  },
  "r143": {
   "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"
  },
  "r144": {
   "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"
  },
  "r145": {
   "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"
  },
  "r146": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-24"
  },
  "r147": {
   "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"
  },
  "r148": {
   "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"
  },
  "r149": {
   "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"
  },
  "r150": {
   "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"
  },
  "r151": {
   "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"
  },
  "r152": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41"
  },
  "r153": {
   "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"
  },
  "r154": {
   "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"
  },
  "r155": {
   "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"
  },
  "r156": {
   "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"
  },
  "r157": {
   "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"
  },
  "r158": {
   "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"
  },
  "r159": {
   "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"
  },
  "r160": {
   "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"
  },
  "r161": {
   "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"
  },
  "r162": {
   "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"
  },
  "r163": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13"
  },
  "r164": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/330/tableOfContent"
  },
  "r165": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-1"
  },
  "r166": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-2"
  },
  "r167": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r168": {
   "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"
  },
  "r169": {
   "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"
  },
  "r170": {
   "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"
  },
  "r171": {
   "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"
  },
  "r172": {
   "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"
  },
  "r173": {
   "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"
  },
  "r174": {
   "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"
  },
  "r175": {
   "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"
  },
  "r176": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-4"
  },
  "r177": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-4"
  },
  "r178": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-4"
  },
  "r179": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-4"
  },
  "r180": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-4"
  },
  "r181": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-4"
  },
  "r182": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-4"
  },
  "r183": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-8"
  },
  "r184": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-8"
  },
  "r185": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-8"
  },
  "r186": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-8"
  },
  "r187": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-8"
  },
  "r188": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-8"
  },
  "r189": {
   "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"
  },
  "r190": {
   "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"
  },
  "r191": {
   "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"
  },
  "r192": {
   "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"
  },
  "r193": {
   "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"
  },
  "r194": {
   "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"
  },
  "r195": {
   "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"
  },
  "r196": {
   "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"
  },
  "r197": {
   "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"
  },
  "r198": {
   "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"
  },
  "r199": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-6"
  },
  "r200": {
   "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"
  },
  "r201": {
   "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"
  },
  "r202": {
   "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"
  },
  "r203": {
   "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"
  },
  "r204": {
   "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"
  },
  "r205": {
   "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"
  },
  "r206": {
   "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"
  },
  "r207": {
   "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"
  },
  "r208": {
   "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"
  },
  "r209": {
   "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"
  },
  "r210": {
   "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"
  },
  "r211": {
   "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"
  },
  "r212": {
   "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"
  },
  "r213": {
   "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"
  },
  "r214": {
   "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"
  },
  "r215": {
   "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"
  },
  "r216": {
   "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"
  },
  "r217": {
   "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"
  },
  "r218": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/718/tableOfContent"
  },
  "r219": {
   "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"
  },
  "r220": {
   "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"
  },
  "r221": {
   "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"
  },
  "r222": {
   "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"
  },
  "r223": {
   "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"
  },
  "r224": {
   "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"
  },
  "r225": {
   "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"
  },
  "r226": {
   "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"
  },
  "r227": {
   "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"
  },
  "r228": {
   "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"
  },
  "r229": {
   "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"
  },
  "r230": {
   "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"
  },
  "r231": {
   "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"
  },
  "r232": {
   "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"
  },
  "r233": {
   "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"
  },
  "r234": {
   "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"
  },
  "r235": {
   "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"
  },
  "r236": {
   "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"
  },
  "r237": {
   "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"
  },
  "r238": {
   "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"
  },
  "r239": {
   "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"
  },
  "r240": {
   "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"
  },
  "r241": {
   "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"
  },
  "r242": {
   "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"
  },
  "r243": {
   "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"
  },
  "r244": {
   "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"
  },
  "r245": {
   "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"
  },
  "r246": {
   "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"
  },
  "r247": {
   "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"
  },
  "r248": {
   "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"
  },
  "r249": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r250": {
   "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"
  },
  "r251": {
   "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"
  },
  "r252": {
   "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"
  },
  "r253": {
   "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"
  },
  "r254": {
   "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"
  },
  "r255": {
   "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"
  },
  "r256": {
   "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"
  },
  "r257": {
   "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"
  },
  "r258": {
   "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"
  },
  "r259": {
   "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"
  },
  "r260": {
   "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"
  },
  "r261": {
   "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"
  },
  "r262": {
   "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"
  },
  "r263": {
   "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"
  },
  "r264": {
   "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"
  },
  "r265": {
   "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"
  },
  "r266": {
   "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"
  },
  "r267": {
   "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"
  },
  "r268": {
   "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"
  },
  "r269": {
   "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"
  },
  "r270": {
   "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"
  },
  "r271": {
   "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"
  },
  "r272": {
   "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"
  },
  "r273": {
   "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"
  },
  "r274": {
   "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"
  },
  "r275": {
   "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"
  },
  "r276": {
   "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"
  },
  "r277": {
   "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"
  },
  "r278": {
   "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"
  },
  "r279": {
   "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"
  },
  "r280": {
   "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"
  },
  "r281": {
   "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"
  },
  "r282": {
   "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"
  },
  "r283": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r284": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r285": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r286": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2E"
  },
  "r287": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A"
  },
  "r288": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A"
  },
  "r289": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6A",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A"
  },
  "r290": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6A",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A"
  },
  "r291": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6A",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A"
  },
  "r292": {
   "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"
  },
  "r293": {
   "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"
  },
  "r294": {
   "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"
  },
  "r295": {
   "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"
  },
  "r296": {
   "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"
  },
  "r297": {
   "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"
  },
  "r298": {
   "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"
  },
  "r299": {
   "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"
  },
  "r300": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "835",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483013/835-20-50-1"
  },
  "r301": {
   "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"
  },
  "r302": {
   "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"
  },
  "r303": {
   "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"
  },
  "r304": {
   "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"
  },
  "r305": {
   "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"
  },
  "r306": {
   "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"
  },
  "r307": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-2"
  },
  "r308": {
   "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"
  },
  "r309": {
   "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"
  },
  "r310": {
   "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"
  },
  "r311": {
   "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"
  },
  "r312": {
   "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"
  },
  "r313": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4"
  },
  "r314": {
   "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"
  },
  "r315": {
   "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"
  },
  "r316": {
   "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"
  },
  "r317": {
   "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"
  },
  "r318": {
   "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"
  },
  "r319": {
   "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"
  },
  "r320": {
   "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"
  },
  "r321": {
   "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"
  },
  "r322": {
   "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"
  },
  "r323": {
   "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"
  },
  "r324": {
   "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"
  },
  "r325": {
   "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"
  },
  "r326": {
   "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"
  },
  "r327": {
   "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"
  },
  "r328": {
   "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"
  },
  "r329": {
   "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"
  },
  "r330": {
   "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"
  },
  "r331": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478934/932-220-50-1"
  },
  "r332": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18"
  },
  "r333": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18"
  },
  "r334": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18"
  },
  "r335": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-19"
  },
  "r336": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r337": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r338": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r339": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r340": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r341": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r342": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r343": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r344": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r345": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r346": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r347": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r348": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r349": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r350": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r351": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r352": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r353": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r354": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-6"
  },
  "r355": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-7"
  },
  "r356": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8"
  },
  "r357": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8"
  },
  "r358": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8"
  },
  "r359": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "280",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478657/932-280-50-1"
  },
  "r360": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478988/932-323-50-1"
  },
  "r361": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "940",
   "SubTopic": "820",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478119/940-820-50-1"
  },
  "r362": {
   "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"
  },
  "r363": {
   "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"
  },
  "r364": {
   "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"
  },
  "r365": {
   "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"
  },
  "r366": {
   "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"
  },
  "r367": {
   "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"
  },
  "r368": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r369": {
   "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"
  },
  "r370": {
   "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"
  },
  "r371": {
   "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"
  },
  "r372": {
   "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"
  },
  "r373": {
   "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"
  },
  "r374": {
   "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"
  },
  "r375": {
   "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"
  },
  "r376": {
   "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"
  },
  "r377": {
   "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"
  },
  "r378": {
   "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"
  },
  "r379": {
   "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"
  },
  "r380": {
   "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"
  },
  "r381": {
   "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"
  },
  "r382": {
   "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"
  },
  "r383": {
   "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"
  },
  "r384": {
   "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"
  },
  "r385": {
   "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"
  },
  "r386": {
   "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"
  },
  "r387": {
   "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"
  },
  "r388": {
   "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"
  },
  "r389": {
   "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"
  },
  "r390": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480424/946-10-50-1"
  },
  "r391": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480424/946-10-50-2"
  },
  "r392": {
   "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"
  },
  "r393": {
   "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"
  },
  "r394": {
   "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"
  },
  "r395": {
   "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"
  },
  "r396": {
   "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"
  },
  "r397": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1"
  },
  "r398": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-2"
  },
  "r399": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r400": {
   "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"
  },
  "r401": {
   "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"
  },
  "r402": {
   "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"
  },
  "r403": {
   "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"
  },
  "r404": {
   "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"
  },
  "r405": {
   "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"
  },
  "r406": {
   "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"
  },
  "r407": {
   "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"
  },
  "r408": {
   "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"
  },
  "r409": {
   "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"
  },
  "r410": {
   "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"
  },
  "r411": {
   "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"
  },
  "r412": {
   "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"
  },
  "r413": {
   "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"
  },
  "r414": {
   "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"
  },
  "r415": {
   "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"
  },
  "r416": {
   "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"
  },
  "r417": {
   "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"
  },
  "r418": {
   "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(5)(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r419": {
   "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"
  },
  "r420": {
   "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"
  },
  "r421": {
   "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"
  },
  "r422": {
   "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"
  },
  "r423": {
   "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"
  },
  "r424": {
   "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"
  },
  "r425": {
   "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"
  },
  "r426": {
   "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"
  },
  "r427": {
   "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"
  },
  "r428": {
   "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"
  },
  "r429": {
   "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"
  },
  "r430": {
   "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"
  },
  "r431": {
   "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"
  },
  "r432": {
   "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"
  },
  "r433": {
   "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"
  },
  "r434": {
   "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"
  },
  "r435": {
   "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"
  },
  "r436": {
   "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"
  },
  "r437": {
   "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"
  },
  "r438": {
   "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"
  },
  "r439": {
   "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"
  },
  "r440": {
   "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"
  },
  "r441": {
   "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"
  },
  "r442": {
   "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"
  },
  "r443": {
   "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"
  },
  "r444": {
   "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"
  },
  "r445": {
   "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"
  },
  "r446": {
   "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"
  },
  "r447": {
   "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"
  },
  "r448": {
   "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"
  },
  "r449": {
   "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"
  },
  "r450": {
   "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"
  },
  "r451": {
   "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"
  },
  "r452": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r453": {
   "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"
  },
  "r454": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2"
  },
  "r455": {
   "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"
  },
  "r456": {
   "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"
  },
  "r457": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r458": {
   "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"
  },
  "r459": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r460": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "948",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-29(Column A)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479628/948-310-S99-1"
  },
  "r461": {
   "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"
  },
  "r462": {
   "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"
  },
  "r463": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r464": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r465": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r466": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r467": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r468": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r469": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r470": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r471": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r472": {
   "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"
  },
  "r473": {
   "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"
  },
  "r474": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(b)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-13H"
  },
  "r475": {
   "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"
  },
  "r476": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1"
  },
  "r477": {
   "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)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r478": {
   "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"
  },
  "r479": {
   "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)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r480": {
   "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)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r481": {
   "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"
  },
  "r482": {
   "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"
  },
  "r483": {
   "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"
  },
  "r484": {
   "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"
  },
  "r485": {
   "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"
  },
  "r486": {
   "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"
  },
  "r487": {
   "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"
  },
  "r488": {
   "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"
  },
  "r489": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "40",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482640/350-30-55-40"
  },
  "r490": {
   "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"
  },
  "r491": {
   "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"
  },
  "r492": {
   "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"
  },
  "r493": {
   "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"
  },
  "r494": {
   "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"
  },
  "r495": {
   "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"
  },
  "r496": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "100",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-100"
  },
  "r497": {
   "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"
  },
  "r498": {
   "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"
  },
  "r499": {
   "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"
  },
  "r500": {
   "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"
  },
  "r501": {
   "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"
  },
  "r502": {
   "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"
  },
  "r503": {
   "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"
  },
  "r504": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-17"
  },
  "r505": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-21"
  },
  "r506": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-29"
  },
  "r507": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-3"
  },
  "r508": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-2"
  },
  "r509": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-4"
  },
  "r510": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-5"
  },
  "r511": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-6"
  },
  "r512": {
   "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"
  },
  "r513": {
   "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"
  },
  "r514": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9C",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C"
  },
  "r515": {
   "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"
  },
  "r516": {
   "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"
  },
  "r517": {
   "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"
  },
  "r518": {
   "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"
  },
  "r519": {
   "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"
  },
  "r520": {
   "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"
  },
  "r521": {
   "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"
  },
  "r522": {
   "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"
  },
  "r523": {
   "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"
  },
  "r524": {
   "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"
  },
  "r525": {
   "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"
  },
  "r526": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r527": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r528": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r529": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-Q",
   "Number": "240",
   "Section": "308",
   "Subsection": "a"
  },
  "r530": {
   "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"
  },
  "r531": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a"
  },
  "r532": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "1"
  },
  "r533": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r534": {
   "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"
  },
  "r535": {
   "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"
  },
  "r536": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "SubTopic": "20",
   "Topic": "842",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-3"
  },
  "r537": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(3)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r538": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r539": {
   "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"
  },
  "r540": {
   "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"
  },
  "r541": {
   "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"
  },
  "r542": {
   "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"
  },
  "r543": {
   "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"
  },
  "r544": {
   "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"
  },
  "r545": {
   "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"
  },
  "r546": {
   "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"
  },
  "r547": {
   "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"
  },
  "r548": {
   "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"
  },
  "r549": {
   "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"
  },
  "r550": {
   "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"
  },
  "r551": {
   "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"
  },
  "r552": {
   "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"
  },
  "r553": {
   "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"
  },
  "r554": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r555": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r556": {
   "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"
  },
  "r557": {
   "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"
  },
  "r558": {
   "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"
  },
  "r559": {
   "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"
  },
  "r560": {
   "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"
  },
  "r561": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/450/tableOfContent"
  },
  "r562": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-8"
  },
  "r563": {
   "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"
  },
  "r564": {
   "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"
  },
  "r565": {
   "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"
  },
  "r566": {
   "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"
  },
  "r567": {
   "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"
  },
  "r568": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r569": {
   "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"
  },
  "r570": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "27",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-27"
  },
  "r571": {
   "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"
  },
  "r572": {
   "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"
  },
  "r573": {
   "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"
  },
  "r574": {
   "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"
  },
  "r575": {
   "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"
  },
  "r576": {
   "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"
  },
  "r577": {
   "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"
  },
  "r578": {
   "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"
  },
  "r579": {
   "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"
  },
  "r580": {
   "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"
  },
  "r581": {
   "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"
  },
  "r582": {
   "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"
  },
  "r583": {
   "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"
  },
  "r584": {
   "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"
  },
  "r585": {
   "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"
  },
  "r586": {
   "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"
  },
  "r587": {
   "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"
  },
  "r588": {
   "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"
  },
  "r589": {
   "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"
  },
  "r590": {
   "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"
  },
  "r591": {
   "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"
  },
  "r592": {
   "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"
  },
  "r593": {
   "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"
  },
  "r594": {
   "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"
  },
  "r595": {
   "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"
  },
  "r596": {
   "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"
  },
  "r597": {
   "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"
  },
  "r598": {
   "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"
  },
  "r599": {
   "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"
  },
  "r600": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-4"
  },
  "r601": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-3"
  },
  "r602": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-3"
  },
  "r603": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-3"
  },
  "r604": {
   "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"
  },
  "r605": {
   "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"
  },
  "r606": {
   "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"
  },
  "r607": {
   "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"
  },
  "r608": {
   "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"
  },
  "r609": {
   "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"
  },
  "r610": {
   "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"
  },
  "r611": {
   "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"
  },
  "r612": {
   "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"
  },
  "r613": {
   "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"
  },
  "r614": {
   "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"
  },
  "r615": {
   "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)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r616": {
   "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"
  },
  "r617": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477363/944-310-50-3"
  },
  "r618": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477363/944-310-50-3"
  },
  "r619": {
   "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"
  },
  "r620": {
   "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"
  },
  "r621": {
   "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"
  },
  "r622": {
   "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"
  },
  "r623": {
   "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"
  },
  "r624": {
   "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"
  },
  "r625": {
   "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"
  },
  "r626": {
   "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"
  },
  "r627": {
   "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"
  },
  "r628": {
   "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"
  },
  "r629": {
   "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"
  },
  "r630": {
   "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"
  },
  "r631": {
   "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"
  },
  "r632": {
   "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"
  },
  "r633": {
   "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"
  },
  "r634": {
   "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"
  },
  "r635": {
   "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"
  },
  "r636": {
   "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"
  },
  "r637": {
   "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"
  },
  "r638": {
   "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"
  },
  "r639": {
   "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"
  },
  "r640": {
   "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"
  },
  "r641": {
   "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"
  },
  "r642": {
   "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"
  },
  "r643": {
   "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"
  },
  "r644": {
   "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"
  },
  "r645": {
   "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"
  },
  "r646": {
   "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"
  },
  "r647": {
   "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"
  },
  "r648": {
   "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"
  },
  "r649": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r650": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2"
  },
  "r651": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r652": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>59
<FILENAME>0001437749-24-019781-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001437749-24-019781-xbrl.zip
M4$L#!!0    ( /%CREBZT 7D*@@  -@\   -    97A?-C@R-#,V+FAT;>U;
M;7/;-A+^W/P*G#I-[1G*LOR2\TFR9AS'R;AM$I_/G7Z\ <FEB!H$& "4K/[Z
MVP6I=_HB)TTCI9K)1":X !; /OOL+J1>ZC+9[Z7 X_ZS[WI.. E]>/COB[.C
MD^,7!_BVURH;GWV'[__1;+(WH,!P!S$+Q^PN+50,YI7.@-UHX[AD3?:B==(Z
M.CPZ8?_JG!QU\//F+6LV^[T,'&=1RHT%=]XH7-(\:U2MBF=PWDBTR;AKQN @
M<D*K!HNT<J!0VH&$/-4*SI5N])_U6J7*O5#'8V;=6/KNRC6M^ ,ZK'V8NR[S
M#0G/A!QWV/,/A7;=.Y&!9>]@Q&YUQE79V&4YCV.A!AUV*!0[/&@+U6518:PV
M'<8+I[LT9[XP437NTH#=F1)>!_\XY$9PY3J*UB>[#AY<DTLQ4!TC!JGK9MP,
MA.J0/&Y(V+]Z2$4H'#MN'[1[K;#?:^7]9U]D_@@W%\R* I=7MW?7KZ\O+^ZN
MW[_[F 8_+JGPXSHZ+,SX7(4V[WZY5?Y>6">2\>*DUP&.)R1[=<!^$_)>J(#]
M9 X"%H$A8>92[CI_X;H=#R6P4!O$TWGC$&T?I*SL<OIL<QY-GBN51B)V*4YX
M^$/W"3O6\(!&Q!O\@S[CI?'.%C1T\;+8D+8IXK+:8J?S[D)/+_YGG>7"KK4/
M_([1^.OI]265N68I'P(S,!0P0I_H4F'9AX(;A)4<8WN.7I%IQ5YC9W1+S7\S
MG;#WN=>17?HSO]0&I3AYO.[RTO"33@@=GK>/G3%NF#$>;9(QON0631"-+1NS
M>Z5'$N(!!*5-5I88:YQ!:>>9E2/9<35FA7*F -0(:3U#1B 3Y0RI&' NR1(>
M89-A.D-.<KJ46Q%0$(&UW(Q))./W@//.C6FQ+49E<$I)I$=SD$ D3%1D**:P
M._/1!!NE(DJ9+>B_6?\1&*@&H05DPDJ, =  V4BX%!=H<PP;:'8:-T?5=(S+
MQ#,H8Y6Y;=C!;,M@=KP5, .6"(6&3)B8&6Z &$-Q?&WFW@M51KOH]/'O2!8Q
MCHG@F+/2 ($EB$5RM&V")<%5RAGN*I.W2U,CM&-! P<D44@40+#I'$J.L5Z?
MB-N4)5*/[ 2)!@;".H.K9IP:2[U1RV .4':BS(JV.TQM&:9.-@E3=PL&^/S[
MLZ/V/[NV0DT5DI.KUTDB\-&;YC7C!CP(T*@%G3H:*P-+%B!L2N(DEB'-$=71
M<RQL)+4ML!\1H-&R1$-N= 0Q-ENVA\8? Z*IM/"K!\Q8U0#8!7++;2%1HGW,
MF^W3/=CW7=NG<?E4/@I*J%2)0AJ?$0'-@;,$"^FR]D3)PD0)3D3K7(8L2E H
MVMG!L :&)\<;"T.^OT$PC,'B-&B0/OCZ.%H"B@LC7MCUNU" %@*;SE2&?+HP
M. !RS%!8SUPH!<J/0XGXC//F>=. Y!Y*5<PW@T-0<2J]%,A_J(O54L2^;F6+
MT(I8X#;0 D09F7HF5S1282E:])['^M#2\YRV@ HYY%7JE',ZED)RHF=<EE=B
M%G5BCS*&G0^]\:\02! 9%/M#O&/,+8-JN+E07:8=^RCOK$!V_:[K0Q?A/A0Q
M(9);K;Q]<8MHIBR/8,I-/($,@ECP4$CAQA2)UDU+#L2CRP.GQ/Z"Z%R6Z$.
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
MF_@27].Y=DG"+GA+LHM8^RF1%XRWC#T2,NL.YC&;,0W-1K7>KLVZ[5K6W7K
M__M; -X_!L&:PW=\IC+_I7T\@<?;M/4'X^GI\6F_-ST=GL'H?#PY[YU-83J$
M^@&<5R?5?A4F@[[MK3?W/.A-H'<T'$T'1VO62YM#;Q^&QS#]90"3WOA#[VPP
M<8>_?QK\ ;W^U/0T/*^Q>3Z/R?.ON=(L6JP[/>6FOGE1ZW#%= PZIO E)U)3
MF2Q@3#/4%! 1##/- A27/IDE%/I"8@>QP[;-D'<_'S0:GM\7:4;XPM[5_1W
M[F.$@FK@?D$QD';Z;\7T0%&X0NAEDB70]"I@%8LHB%B"[==H)A1U@&F&P1,>
MPF". L8O#(8T94H9"/@QEB&*(L144L1[$U41Q1)4Q=I:U53(#+HR0U!* RJ1
M(O13@0R5)T<B08N;J5L295*W8I"24&1&AV^:+XU,[B(.&P&1,\*I<H?SA"Z@
M%UA&3>YB-]$MV*[O6,.2[BA/D/L N4Q,U-=,2/HM9Y*FJ,?*S+#"LTV0:PGU
MO>UPY]KK [R5[NN'S5W?]FPW"N^,%_)OIC2R3Y@AA_$U:(29O,@D509%Q723
M) $<1C'U$L2H,H2E"I8CQ@D/3#M.&#([M7&)5GE2!"$R6B226@(OD\@0C"WK
M^5&QPY>9A$.9",U/7F13]:6+] ?TH6U%SX3$@N@X'B[Y-$G*Y?CZ7F4D6-Z7
MD*RX,&0=G8#G8YJ&.C8+O_?67UOW[^"M@&VI@,+G%Y6[A-6VP;%;'=P+2?QA
MKB%<6A%#GR)S"D<=9\][ZQ0&URR508*7S6&U_WC*AN061%S=S,C[GL83PEO2
M;SJ*I<M$4=/A=;R!,(QCP WGWMB;!Z\W]OOBK3=>9;QXM3G^?:7Z$6IY"S[F
MG.),A>R^? 8T7V4"V'!+/X4"NS.AM4AQ-(:E1,)PL;R8;>-S,)\=_P$]V/M1
MZ:FIVAI#9Q17^Z,J_,:2OQBOP$=9_3?=P49YOF/EV<C,,X9;1IO02#O Q94D
M6<<IKBM1*=3GA73EF6M_L_78",#_60!>?N/0CPG#?Z-\^4__@R R-#='3-)
M"ZDJF[K<U.6F+O_CNAQ)JI@YR+&G:_V8T0@&<QKDFEU2&$81"ZC<5*8MR2V\
MFA.SYWF/ LMOT]M'XYMG;&[1])@30KB-X0&^ES"@Q &KYW3'4<@N(4B(4AWG
M4V\R=4>]DX'[83SH_6K>S-WH'9T<3\>WVN+(E>+J;J,Y6H31R=GYYY4WM#"O
M%^^Y((J:>=V(C\:^-?T'4$L#!!0    ( /%CREBNX9 #Q00  (4=   -
M97A?-C@R-#,Y+FAT;>U986_B.!#]O/T5<SEMETH$ K05)8#$4MKKW6YA@9[N
M/IU,XC0^)7;J."W<K[^Q$Z"PK;1::8]=#@F4Q!Y[WKS,/#M).U1QU&V'E/C=
MHS=MQ51$NW3^UWFS?MJXJ&!ONYHW'KW!_I]L&ZXIIY(HZL-L =,PXSZ5ER*F
M,!)2D0AL.*^>5NM._10N6J>-5J,)HX]@V]UV3!4!+R0RI:IC92JPFU;1RDE,
M.U8@9$R4[5-%/<4$M\ 37%&.UHI&- D%IQTNK.Y1NYI#;L^$OX!4+2(SG"L[
M9?_0%M2<1+E@&@(2LVC1@N.'3"AWRF*:PBU]@K&("<\;74B([S-^WP*'<7 J
M-<9=\#*9"MD"DBGA:I_)AJ-BWJT)W34(@\%</A+)"%<MKN.+7$7GRB81N^<M
MR>Y#Y<9$WC/>TO9(R*P[F(=LQA0TZI5ZNSKKMJM)]^@5_^^V +S[$@0;#H_Y
M+$W<7?OX"AZW:>L/QM.;JYM^;WHSO(71W7ARU[N=PG0(M2;<52:5?@4F@[[I
MK37.'.A-H'<Y'$T'EQO62YL+YQR&5S#]90"3WOA][W8PL8=_?!C\";W^5/?4
M'>=P?[XHS__.4L6"Q:;3&Z[KF^>U#D],A:!""I\R(A65T0+&-$%- 1' ,%',
M0W'IDUE$H2\D=A SK*2''/_<K-<=MR_BA/"%N:JY)X#=5P@%U<#^A&(@S?0/
M^?1 4;A\Z"621=!PRF 4BZ00L C;5V@F%'6 *8;!$^[#8(X"QN\UACAF::HA
MX$];^BB*$%))$>]S5'D42U!E8VM4,T5FT)4>@E+J48D4H9\R)*@\&1()2CQ/
MW8(HG;IEC93X(M$Z_-Q\::1S%W&8"(B<$4Y3>SB/Z )ZGF%4YRYV$]6"4NW$
M&!9T!UF$W'O(9:2C7C$AZ4/&)(U1CU,]PQI/B2#7$FIG)?]DY?45W@KWM8O&
MJ6MZ2O7<.^.Y_.LIM>P3ILEA? ,:83HO$DE3C:*LNTD4 0ZCF'H18DP3A)7F
M+ >,$^[I=IS09V9J[1*MLB@/0B0T3Z1T";Q((DTPMFSF1]D,7V82#F7"UZ<\
MSZ;*KHOT!_2A3$7/A,2"Z%@.+ODTBHKE>'6=)L1;7A>0C+@P9!V=@.-BFOHJ
MU N_\];=6/<_PUL&TU*&%.]?4.P2UML&RVQU<"\D\40??7@T(H8^16+ECCK6
MF?/6R@U6+!5!@I/,8;W_^)H-R1;$#<JTRZKR5^ \H>E!='7K1:"-YG\)M*U'
MOI0V7W$?ED'KCNZ+L;\4;ZV^E_'BT23D]Y67ERB\+?@UXQ1GRC6RB&+G>=#8
MRS0PX19^<M&T9T(I$>-H#"L5$</U[7Y6PKNA?R?N*ZIP]J/24TVK4) SE<1;
MP#5NC6+<I!P4XGM4B(,0?,-PBV@C&B@+N'B2).E8^7%=]KD^[*CRMTITY\EP
MJ/U]#/__6/N[7]4GE#-\%/Z=>11&^$S-],.8?D+>/1&',M_'\ ]EOHLR[X>,
M!G"U>I<V# *L>+E[&O:[R(_PJ-^-?9LO)K#\-YQS-'[^-LW.F_;T?://'L&+
M2)IVK ^]R=0>]:X']OOQH/>;_L3WK'=T?34=;[6%@2W%T^>-^ATEC*YO[SZN
MO:&%_D[YP@%15/5W2[SSYO/KOU!+ P04    " #Q8\I8!T5]OMD,  "FAP
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
MWT2D_PN#57372B1^VH"8]\K,7[F&G_\#4$L#!!0    ( /%CREAI_["W3@H
M ,B-   4    ;V-C+3(P,C0P-#,P7V-A;"YX;6SM7>MOVS@2_W[ _0\^WV?5
M>;3;:]'L(DW2(D!:!TYRN_=I04NC6*@L>DG*CO>OOZ'\B).(U$BV*08H$.0A
M#ZGYC3C#>5'Y]-O#..U,0<B$9R?=PS<'W0YD(8^2[/ZD>W<3G-Z<75YV.U*Q
M+&(IS^"DF_'N;[_^\Q^?_A4$7R$#P11$G>&\<SO*LPC$.1]#YX_/@ZM.T#EX
M]_'X_?6WSMWM6>?HX.AM</"+_@I^_90FV8^/^MN02>@@$YDL_CSICI2:?.SU
M9K/9FX>A2-]P<=\[.C@X[JVHNTMR_6FDU@,VB=_U%A^N25],/3LN: \_?/C0
M*SY=D\JDC! G/>S]\>WJ)AS!F 5)IB42:EYD\E$6%Z]XR%0AQDH('2.%_BM8
MD07Z4G!X%!P?OGF041>EWNDL1"=X"@.(._KGW>!R?4_]HZ=%??#V^*"G/^TA
MIPK&D*D@Y/B ,@F1_DWR-(GTLPN&+-58 CD"4#+(,Y9'"7Z X(I[C03$)UT>
MAL%J8LW-O[>>5\TGN)QD,IZDT.UM@ M9&N9I(<PK_'M)KL'L%>>"'WA0@,.7
MTEZQE/+PB33T_>5JU<5,#HM'F,O@GK$%8SU(E5Q=*2172&UYX<_3,.1YIN0U
MF[-A"J=9A%=$#M%5PH9)FJ@$Y%DN!.)9\9>R(:0GW2UF6"!,]4+E8BGRO2,<
M0 C)5+/X'10-DFV(6PQ2XE(Q<?ODPQ;XJA!F&8U3+L^8'.&RU#\N_LKQ@:;(
MB3Q59TR(.>XP_V5I#@;N:XUUBXJ/QSR[43S\805@('/*ZP7:5CX'W"I2;0+)
MMH4\SBF:2_1,QG#+'F##0A@06&D=<XVNPGVB372AD6C2+A["--<^UE?.HUF2
MID80]*&.,4UQ$7 Q1XZ,O+\D<<KCQJ(UL%A"T1:':.H*4S'B*?K04IL\-:]F
MVSJL+2QVT^*)+;GB+%NY3A4,FRD=<YS=WX(8HTL,_?A, #JO1I;-I.WPO"'#
M*IY+2)WRW%<C$$M[R[/0NC:LM.ZYWM M&NO6 >[Y?]RI32;;1.:4UVN<!E!4
M4:43:*%TS?&$)='%PT3'Q;AK;"Q<N_6K,=(Q(CX!H>;7&-,K9$MO?1,=_9L]
M$LH0IQ@&H!A:Z.B"B0P].HGA;S[."X_['.(D--IW^D"G>,@>C"<^2Q$=D'P
M"Z6-XXU$UJD(.UP@X)/N0;<S@^1^I)8)U\4\3(1/,EPO<X-+BI[,Q^-BSB!1
M,%Z-CP4?5P7_?*OX&N]/PG?H SYZ*HD*Z\@'6(2PEHKGV <\]OV<"N6M#U#,
M 2\5QCL?8-3>\*GHW)F]<EC4S=\_,U>^VNJFAORS<T:#8(^H_#-PI1O0Z] 8
M2SJ&U_!_?%(:&J3*M(Y/^D*#U+@BZ)-&T:#6+%!XJG&EZW)'4!QK6KF*5:4A
M/=4Q*QAC?M)3+3+NLH3DGT]Z8TD:;""KFQKQ29UH""MSBCXI%0V2O5;NTR(D
MU]XX20;>+<$F^(QEU$=@GWK/<>&>\&-/_6QK AGP.-!A7W'''7:VT>_@NL>M
M+F>T;K<7$L(+?P[XG*5J/H I9#DL\P7/\J>5=&Z[IL9<J.3O0B+]^'D$;4C]
MT@8Y[D"2JA_K*+]04A#3) 1Y@WIJP% ]P"G_7P67\EKPV%C@**%HH=/H"IGX
M@N;QC&<JR7)T)_IKA?H,,1>PD8Z]>%""H:5.,B;FEZB$A5.%(U%QD;5[7#D@
M0)K;9?9^QW9ZM98*_QDR,#_O"FK7_5J%V,HM6@654TZ_@WI<-@8^2VG<<LFS
MY3ZDEZ1FQ2[92GJW?0E/6;%(VD+IOI.BKM!I@QQ7QPN'864.!0O5[XD:G>52
M(6<"&5QDN_5&C%\16@]CN;SQ3&[KYU#8[<6IFE2G[Z)QDB52Z4<RK7B"]08[
MQ767Y3)G:1\E'0OX*T?W5&]7EYG,A3Z1@1M]"!"9%*ON<#\K\F4N#=_A&FT0
M109M@:7ZHSY%_C;SS@F>JU?/APBFB4WQ*?M4 9,8G3;(Z[;^Y.I$K3YI6;4+
M\CR+371:O%*_6BBMD89/VE8+5;--W:>EZB)BYS7""Y_2R(YELV,;X,30E<;E
M+SK]'"2$_+*,-+%49(J\*#R$3(Z"..6SO14>;'=HM_!0S9FC8_:ZO_E9C_,
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
M)=[R/A! 8!L]HESW^JZD_*#DTM1@OUS&K""57;+60HM&>V"7D0D@517I34;
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
MJC"* _8-6^B#0SE%(T*_!9L5#_!^2 O@U6RD_)[_[PDEF'WS_U!+ P04
M" #Q8\I8U\TH&P5!  !ZC , %    &]C8RTR,#(T,#0S,%]L86(N>&ULW7UK
M<^0VDN#WB[C_@/-N[+0C2NZ6VQZ/O3-[H=;#I[AN22>IQSOGN'!0193$-8NH
M(5EZS*\_)$A6L4K$*XD'>R)VQRT)S$PD$HE$(A]__I_/RYP\TK+*6/&7KPZ_
M>?<5H<6<I5EQ_Y>O/M\<'-T<GY]_1:HZ*=(D9P7]RU<%^^I__L=__V]__A\'
M!S_3@I9)35-R]T)N']9%2LL3MJ3D/S]<?R0'Y-WW/[W_X>H3^7Q[3+Y]]^UW
M!^_^"/]W\!]_SK/B]Y_@?^Z2BA).1%&)'__RU4-=KWYZ^_;IZ>F;Y[LR_X:5
M]V^_???N_=MN]%?M</AK6F\^Z _^_FWSQ\W05Z"?WHNQAS_^^.-;\=?-T"H;
M&LB!'K[]ST\?;^8/=)D<9 5P9 ZT5-E/E?CE1S9/:L%&[12(= 3\=- -.X!?
M'1Q^>_#^\)OG*OV*<YV0AG4ER^DU71#X[^?K<RG.']_"B+<%O8=E^IC<T9S3
M+$ \E'0Q_%U>ECN? 1T_ AV'?P0Z_F4(6OVRXK)19<M53K]Z.YK2*UIF+#TM
M'),\#-8+[3=U4M8^J'\-V#']MZQ.<K>4OP;IFF:NPJACFE^!=$SS!74L'_L
MW=&+(+1^3:0A=3F,^LC_U0X$@ JE*O"U*KP'F#[7E)]'K=;<P&;SG4FP^?P
M3J9WW[U_)ZCDO_CMA,W72UK41P57%756OYP7"U8NA7;OD @BQ?=&PQN:<C@B
M6-G.=F>^=F /\CXGC1CTFO4EK=BZG#<'*L<,1SXM#C[??/4?'6["D9,&.^FA
M__/;+;&OIW)4=CQ.RKF&MG;$VSGCI^FJWIW7HF1+"Q8S6[XU;. D["_(GI
M]55G8BR2ZD[0OZX.[I-D]1;$YRW-ZZK[C1 H(4SM+WZ[K!]H>4WG-'M,[G):
M[0F1;IBE\,C ^18:@8^46X1!Q43+1&;*F;!B<<[-[24%87U>T:*BU=%=59?)
MO%8)B?:C,2(C!1Y&@#*!GKRA#?:O9X2?'#_%DR4]K_<ERY"!IG(V>$9=L)K>
MLK.LX->0+,FY45A3T'HGM$ZRO+KEQ]\ZR0=.*[L/$>>6&0+?L@14D%M&-G20
M#2&DI82TI 0_S2R7@.'Y&DR5?:151>GE"MP!67'_D?+KZ\<LN<MR?@!?)2]
M:'6RIA><RMLGFC_23ZRH'V0GX5AP2/6'1>M;F#F[OY^1#5U$$!9%(XY>&.::
MVZ.T:-5MHH/MOPJ^SP[>'R1YSI[ QW/ K<>#>4G3C'.&<9(K\1NNT%-ZD,SG
M;,W)/-B:/0?UD(T7"!M"7WND*HB2?T\.R%%'*.%DD6-!*/DH"!6_N05"R5%+
M*-F:?L%U?P@98($7=G*GS-]H4MX^L9&'RQX4SV=*BRW 4?+'+^LHV5\&Q DR
MR%L_!\=W!UGQR']B9<:WB?U1H/K>I7(?PA-$77_'U?7Y%O5T%+"2\SJ5JF>G
M'W'[_F!5LG3-KY9/25DF18V3.@,P+H5/@2Z(#'[/9?"JH8#\LJ%@.J)HLAPZ
MB33FL1_!_.$@!VV,$4;)IRX%< ]%$*'[@0N=.*$F)&@R5NN$2\D_/P+UXP&\
M*37.06&J'O!C_Z!Z2$K,C<L<FDNQTV,-(HD_<DF\H#4Y;SVM<%'ZFES1DMP
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
MTJJBM EAIJ+5Y>O&EQ*CQ>93I/%B@B)4%1H36C#5:/S,$;'S&D)F;9 ^[7K
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
MRK2?L@S4Q!?UD.5VCYBI&E>/6'V&?>3_XK_L?L7_YXXCYK_Y_U!+ P04
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
M5D4O/-U@EHG:@&1NFHP $(51$HS-6P^QD1J5P<B\\Q 9E8T8#,[/'H&C,@Z
M07GO'2AR710,S"^C.J<5F&@8/\  _>H30"#M%@S-;]XM*H#'"8S.!U_1$?NY
MX&*?3X*PCK<*CI!/DC'<^PC'QR?I6!91!4?$)ZE8956$HZ(M#KMY?LO-F7 X
MM 5A-^&0&"OA6'@B^ZKMR7!(M*5=A_<0G<@!.$+^";TP[RL<(?\$7VD( -R>
MYY_0*_7JPH'Q3]8%A=S  ?))V%4'*\!Q\4GD/=$.SX/CY(D0?*(.MX1CXHDD
M#,MX@</BB5 ,REV!H^*)%1B8=P3'15L:=A,728:=\43*F+"-+&<P\'\MLT#9
MASN4\8O[HF*&<5E$58ZJ)-6YZZ[CN.82+7L1%$KF& @ [%(P8WF]2'&%'GG0
MS%&>L&_8\DW.4W279FF9XJ(]WK?'"(-P>(UCG-YS$B]P"6-)UL4N#T6!R]TI
M]/3'Z-V E"EJ +4W&H!.Q6O?;C,HGDL:0+ *VMJ]%P45,UYXF_UU\E?%EDR&
M>:69\AA1^LA4G;K8G( +K;ZNW/8BXD7=PSH'2_53^@H$S:S2>L)$%/*(F<25
M<4$"?/Z ^UGEAL>NS/$M^H&W3A$!!]*VEJDN43Y-^3%>[RWLV#OY$6<5-U=\
M)B1Y2+/=6/,N72WS=,\F :&/C"(A[<^;6*5Q:](*2-QJ,=#)M$4!V]OJS6)&
M,J8W%GS;+G<3F:#='.5&<?3J=A^*-_G6^;SA\&\#)OJH.]BEGZ!\I0 I(!>W
MM$QQ/KW%=,YM*)>38XJ9DBXD6=QT&)JW,%31W-+4;K'1<H;I\D0D>2R=&]*V
M]JG>6F,PTJ4=[-._D:5$AZJHF55:KU8&5Z68+FEIF^(%2I.3'PMN_V/GW];$
ME>]^&CTM<T06F):/5QEB)TF>\$-\P=4XL<P(Z6*5AVM<(K9#)R>(YDSF+H[B
MN)I7M4[T"4_26+B_PSN&TL,0>K<J/%Z1)@=((<WH=/6AG+(!.H':B#/ZA[;&
MX9B.45LK0!*OI*4_Z>B=5O+@A;=#JK[]B7%X2?IJ"* GN7>3X3F?6VC(O&;>
MS0D $E)#CR]30\[J]I6W^FXS7R8-&".X'Q\>(N4)- "?$Q@3[;!=1S&1FX/
M<#@:G=MABHB\8F H' W*U89"VVX%1D@[/K<D)<KLA+SK[[>R !HP)(X&YW:8
M-% +(1@:1^-S.VPMNL$"8(BTT]4<A0C@#(++<_JI:L[O,IVW%\<E.)A&U"W^
MP!>)3ANC@U = ?QNHZ,*1/!%6]2#I7,TNR_[CQY<FL&7OFQ >B I/2#F5,L!
MSG'-;4@9@N:+LJF[/:N"KLRIF*/ 11C8Y8N>J8<+- #+G*HYIJVF\Q[CN&T/
M)ACO75UP7# &\/O4UB>/LO-%,-:#19XCY(OTJX>);N2<.?%W@,U7#RIUX)4_
M>[#NL@)E#)H3@YV?.[HI1!NHW*CQ$#6 S'"9QBA;O]=]EWP0/,:9"A!2^D)!
M"%<*0F09>>#O[Y303Z2Z*R=5]CR.0I%(KS/&'FZ8ZID:?4&N$ 7F1V_:#D]W
M4U'LJ"IGA*9_;TJLB*G?[>$*#V=%4<'I;UJ[0KOXEE9(EX&X>*KD*!> J+D3
MU .7@;R30YQ(%X.X@T,<J)>$HM= O(24(V]3CL9JN0KI)"&=1#8Q0CJ)B^DD
M%NL2:V92]-',S,T<9_&""K[F[-\C@48E3QLT?8\)H'91W6#\QYC V4=M=)=O
MAM1#"&1T,A<$,@9<]K;IN'Q/3D]T>NXX+M^/TQ,9T'9CUX.T;E!$9!+Q])'Z
MB7NL%PY_@G6_D2YIP66T'Y?1LTG$OOCSFCRBC%]+?(_S"B\3WW:>+VP7Y;\-
MX[N:\TO!_JZGS>5D-\E(Y*P"=;+L8RC*RPE/A*H=WIC>IS$N;D@F=I&H.M@M
MY;N,A[G"M-YJ/Z(BC06D2]M:I?HS)45Q1<E$6"EKJ\5 98.:M.US1L8I.P*;
M<)&*P7>YWBT_X@FA>"N]^^1'21$[S=,<T<?Z=.2QH:PGVY49:=/ZOCA<B&OC
M&GOBH!BNA0:%H5S1>IBBTLM]]B/.L7BV*EK;+BQ=O_+V@T30:JACY *7FUDO
M(/5)FX$F,EM52RF)KRE.C!Q>8?N!Z+]\2HP$[9:60]',X^P;*GA*=X.?ZOX+
M6"?[?.A.(%@GRU4O:\%S=39Q/+^EY>RX*DI&&0>]R2KGTAS[D[#M4,!<CY'L
M.DAQ?8A^9KLY11E/4$SF:9[RN<3O?)6_0;W.P?GN06W,KWE55"B[9#-X0O%?
M%2.&@W:6%Q7EGB FS\88)R*T=;O[YX1728#![Q[\[L'O[H3?W<5LN]YRA7<3
M1PH7U)1ET.,^1#X,!!J)^<F<>]W%.=)%BC7@8__0()2S7;]<MG4$*+AEWIQC
MW<6)HV/K-^A:=W6# 9A9S+G479PO.H8; U+-D!L,D'4"M][Z(L?H(]--A_8E
MIUX?+QT[HU<Y]?I0@6WZ!F,,QX"313>F+R)55Y 5'D>OY*H."U;F./1%NM*'
M!1 &XD907L&I6Y:?B'!3?\)0=![H40.'Z6G0V"%>KV>"]A<\O\-4X-@0MK,;
M*E5#QFA9D)QAVAIX"&KK=H3$0+[AI^69I--!WMBN9Q&81/T\C/GGD='[?EC/
M[<Z"*EIB;+7Z!'\Y+%F]P^6'&GU#%(#HOLDF%^131=G:8X)62I)F2:XD+ISP
M><W._%IH$#*C/=)0@7P"4NM,JGWP+!DH>C,<QQTO0AWH\.A!,>CX&+EO&;3C
M'4@(2H<0!/5Q[1TH4I;;$^+:A%U?S/7:N$ T 5]L\]K@ '10[R:.@X%.BT;F
M*A$M770D*S53<W/$=624<I>!K<7=0)5]*A7F/('WF-X1-[/:^VLFYAR#+D9T
M2*R2YOQVS9YTDKNY]%16.7,..[=Q4>J;;CBD8E3,HDE&'HQ5B9 ]86#WDYJT
M4"7"8)6("T++V9<TRX[1(N7.]RQN=;* VMHM%9'\NRJ:>Q=NR35F4RQ.Z^OA
M-Z?#+3EFL^N*DON4S9^/CU_97#S+US&21W&9WC>7$LB-UR8?9;<L!:.1_\=W
MPWN4X;IF(*,GC=FJXS\<Y<G3+[9:KO,</J7%@A0H^TQ)M6 ]V.>X"<?!R28:
M1^2TM4C"0 ;10T-Y&!]@+Q8;&9LQ2C&3KC_AYN\UXR<_XAG*I_B:G50GDPD6
M[@QVB1@H8[ZYN_ 4Q?P*E[8#2MUP0'JE 1FRIE9I_H29N!6G]8IB_\YP+9GG
MR7:^@X 'G:Y6>6H*7N-S/JNOF&8;IPN47:''^B 5,"/M,Y07\C.;%?R0O\QO
MV,J]G+!CGNU^Y>-5AAJ[ZX*3)^ (UGDHUI[O/I#[DP6L=AML($>KF-A-&65M
M/C==G7JA'/&MN.B=6U<AW+6/X,RK$]]B#692/(0S7)[E]VRK(%2'K:T^4?[!
M$48V>E&=MJ<NX*77WQ7NMJ^]Z\RB9)"A^5PF^2RO*>ZRZ,1#.+/H:A)W)IP>
M?SN=W3D9:NHV1Y8F6UL=W=E9KBA>H)1?WEH;L9>)"TSNJ$G6?'N0P89ZF^=;
MU\H#5#-5\\%I/^<V7BI5UJ#=; ?2MUG^EI?];%O^!%S!!QBJ2"&80,4AUWT@
M%_CE@E11]GBC+0.X]49;".SV1@$#N<!OBW5>C\^6 =QZH_JNCNX#N9V^--3=
MBDO+U?KVMWS*RR.)2!8U'TK(6-&SU(EO"5/^>>DK[E1GM)T2JA6$WW6XH=F_
M)4?Q7U7*<\M!!>F5_9QAZ(DQDB?Z*HR9\ $&8W%9B8,7"5B7Y[C!99G5,0?P
M4[S[0(/Q>T%*E7%/U=PV[?=IP19XRUUV8OJ572RGJ"[6F_8YR:>WF,X_X3O1
M A(U'VJY;-,#F#ZBYL.1?T^R>WY,/M$*%7G"@#[VTV_!F6S2QB&!%9; RH7<
M4QYU!L];%78)Z:K#%:T&;CPC3PB33;X#R1P,Q:OE 39$U,IG/)16;=+5>NP+
M0NH4.)AGP)>40,B,T8AU]@46]30YE D"VTPT= CO$HT-7IPPEMKF#N83.YJJ
MU\N98 ZM >XX[@&&L/ADUSNA'=^#@:7@C6?E^+):C2*U]4;T(]%]F;&V$(:;
MOWT1.VPA"S&K&I!CABSL8 O:SK8\ X4-#@'OCADGONP8,.FA8U"Y 9%@R"FI
MCX(40D :C($3_RF M_9%^SVCJ(RN-EY@:/P8RM)>/#O&]XQ<IZ!WSTYJ$PM:
ME07BG9&LZ_&K3'@RIY8/4B:L(Q2@@U@G[]:<+NX-K/ <47/"M#=@@K.*/2L+
M: )+>!ZEN6*! US>U!_*[ID=YH!T\;SNF^GCF=[< XYM:V[W:'I?#.=[ K)G
MK+YQA=J+V:G,8C%W4 ]PMNP'Q.ZYH& P';^$LM?Y LX-/HSS!0)'RPKNG6_G
M^6FC"RLHA^HPSA1-Z,#Y0Y[9:/>/GC1YS#-S['YW0V5RM8&3=_SHZ15F!$,X
MABNB]P-@]SHO8#"U[Y0>+9C#UMT%OY#?1G/WC0.OI6=Q;_!+^3"22RY&^$IL
M7Z^1,Q$R>AL5_**/B)U)[+OT'D>+##%B4)Y$A-O%FRO.[U!S$\66FK.B5GG)
MQIZ>8^ZJC;T2&"[<,'CAQLJ%6!RS!5-E96/HO2 Y7O[P*:7LR"&T_;+S/D/L
MX;(0IK'=DN4.A+*U:4>41:_7J3=]W&S^]O6;7X7(M3?HGQ=?T'(K)YY]VLPV
M]N'/V[3D<9AG><(V[*1"6<N<4[:S3R4W%=6F([ZWS]+%+9$LXAXCV+TVY@'1
MY)8]45(LL[6-W>L V/G*Q(N*\F35K9UZ:<FK]=:-[6YMJ6<[]T=&RW<!7WL:
M=2 DUG0H2G8 >HR7@Z'JV+&-\P+-98NFK<D@-$IKR+8WLERS:"5MM]S<_*Q6
MD:2M S6*CBCEJG*]3WQ\?+9WU!OI9C?-$] [,OFH4!_)@]I"-]5=T>01G? H
M;^D*DK8=DFJ%#*)H/33E\@6L:N]/J29-#6?P8DT#)+[# @ T9!YSZ(125M9F
M1;N.I4S(W:<4X N4JJ.":._,OB#3JI,0F#8P=@S4!B6R!ZO-V%%2G,8M<\7?
MTE>BU:*RG/K"OW@. (VS8P<"M&7T]T"8RXUR9;X #,ECGRM@.0Y@PC(7-^[:
MA !I];Y,C>YR::]),I9\*X-U%,>2$G#P=10AOJI6(\D>''AVHG/>12C+R ./
M'8TFA$9Q73 U8EP4N*B_8=PF.$++C/6(/KM]&1:>LX<'&8[/V1N%(4#'8(#.
MT>H=M9388U_=\E?TO,Y1RT+>H=G(V#Z%]+CE:!\_!P.%"@2GYPCED>#&"FZL
MX,9R5)MS7<T/VIR>-F=0$K2CT_T<I9ORBGI:6FM7PWJ7Y)E!DS*H207=(N@6
M^^5A5=7U4:UNZW0)^E'0CX)^%/2CH!\%_2CH1X/K1_I'MQVUYWVTH"2IV$[U
M@'@8:JFM_<A&,*P$J1\==*&@"\%2: '%Q:4Y.?H#6.7O(\KJ^J$SC,MS_DB^
MR8HS=53-!Z==FJNC[C!>+77\' R5[ML<%=^:DT)#VX9W##IWT+F#SAUT[J!S
M[WU6* 42HG_\^X*-6AF'B7.^&"=TYDI7L=T7K&S8LD:?\A)L6:*:X5J"L1V+
MUB]11O(I$USF4<+K2/-*@?R'(EH\+6D.,V^!AS-LZ]*D(QB^C!J^:#G[DF;9
M,5JDO-IP%@O+\RG;^F2&:Z7OGRF=IGF*KC%[&?6L/B<H%P(&:6Z\;N 7]".=
M5_-6(H6_FZ>*X2*EJNUWXU1=\^(5@NJ/SWZS0XT0H99?K1I!CNOTF%,4<]&R
M;=M2-QR07JG15=9TO,;*\7,PD+F5B\J7$_!\5S4?G/9S+DY1Z0J =K/+R]:=
M*BI+M[2M=:K+%27RHG*RIH/2+)\KTL:6:W?>D^R>WQSS9.8J:G@"^@1W2'"'
M!'=(<(<$=\C>F&_7J8A"N1D[UP"EB.@H(K[@(15]B)ZPX0TF*D6"=!78?4%(
M[>]0B]2^N+]4*TC/(.D+*O*B@0*;WMB9EQZM$LOJX;A!5=:9L<\ /3%#0P4&
M S/Z6H P,YXO$P4B:VCX ,>^D\AW4+''#,QWJ((8JB".1<K6C*4!F-[MA,_\
M&F7\YN!"\R+19]T,A\,(GA?"7@R&O9SCHL!X>35N/CW*D^T+U M8N<#N@W@?
M*+,&I8;BE-#+R22-,;^[>,&?* R9T>MHBLXO**\F#(^*-N_U&]LC9Z0J\,T"
MQ?@LY^7V"7NK2'P+[)Y'WC^GNT^^)NS)W_'*1 !G3&N@\08?C)^#H<(G^#PY
M)GE-0X4R+AO(G."*YH/3+G>&*SL$5W)P)0=7<G E!U?R_HU8JJ.#Z&_4OF #
M,'B"#EYO#)Z N6),CA^[>;0WB!UT!E\\#STGGE03]F5QAE3.8'[N4K:YKT7.
MCEWZ0Y3C,DKSF,QQ?;U,Q B."GXQD)ZE&C"08=LUF()@S0[5RX+-;C0VNQ-$
M<[:!%E>8UA>6J=)ME.V#U2M8O8+5*UB]@M5KE,K2:/7%H"Q)8W6 Y[8=O>C-
MZZC T_ISFD\(G=?#U^5A[JJ"O3>F7O /RXLY8\(4.VY&X:TT*SWOY5&&=:L]
MTABTK\/0OMHC/W)\7!4ET]"I.*A#U,9">9I_$[IZ=B&HO2)N9)R^"S3'EY,G
M!+1.>5!;NP5/MC>$Z[3X_A'G\6R.Z'=Y\1-@MX%Y>5R3)2L] ^PV-"^*NA"
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
M3&'O+2U##&C+7_C_[E"!V3?_'U!+ P04    " #Q8\I8C$!$G<G5  ";[@H
M$P   &]C8S(P,C0P-#,P7S$P<2YH=&WL?6E7XTC2[N>I7Y&7GIZN.D>FM'B%
M:NYQ45#-VQ0P0,V\<[_T$5(::TJ6W)(,N'_]C4@MEFS)JVRG[>P9"BQ+RB6>
M6#,R\M/_?>O9Y(5ZON4ZO_ZB',N_$.H8KFDYS[_^TGXXO[KZY?^>O?O4#> V
MN-7Q?SWJ!D'_Y./'U]?7XU?MV/6>/RJM5NOC&]YS%-YTXM%.YL:W)\]FMZJR
M7/\(W\8WXA>FE=R;O2_\,K[5T2W#S][I4^/XV7WYR+Z"9]1J^KU681>TCY;C
M![ICT.1^W\P;&=RK?/S?;]</1I?V]/AFZRVH0-.9!^*N6(YM.?1_/]]??PP\
MW?$[KM?3 YA=>)=2J\C-BJ8DC<*M/XHG%+]--9D_FFGMJ7)%5BN*&K]DX%>"
M89^.)K&C^T_L+?$W^) 6W^Y[0=']R5>9!P:!1Y\+)[WU$;X?C:?H/D5+C2G5
M<\^U"WK.OL$G&Q5924VO'_2]?+S@-QFX3! BBQ;\^DGW$[18OEM5E<8T?(5W
M9& >Y,*\%L(\&"'1FHW$RCA^@^[ ,:EGNCV:>?K^R]=+"[K_[!\;;B]%J/G(
M]);+[S/Z8E(K?]KAB\RL4V?04_,F194_TK> .K[U9-,*WD8]!FJ_HA[+\>.N
M,6)!_,7>+5>UY :O@/R>-X[S7(1G^FH,/ \DXS#_C?&WF4=\RRB GV5DY^'-
MZ.;?B=]DN^$.G, KZD7X9?;=AEGP:L/,W B,]*SK_5P.PR\R-YN!-R8:,C""
MKS_BUY$,4BJJ<G3VJ4MU\^S=WSX%5F#3,Z!>3*\_%/G/8U ?GSZ&7[W[&_[O
MT_^I5,A7ZB#IJ4F>AN0Q!/D7 #FY<[U MTF%U#_66==([41KG%2KY.X;J51
M9_5HH!/L787^.;!>?CTZ=QW 5%!YA)X=$2/\].M1 %#[R)37Q[-/'\-.?GIR
MS2'Q@Z$-[-2!.RN^]1<](8K<#TX)N]#1>Y8]/"'_^'/@!J>/5H_ZY(:^DGNW
MISOAQ5/2UTU4I2=$MAPB'RN6<TH *[[KG1!]$+BG,"VF]1*W9%I^W];AI8[K
M4/S.>CO!#E$O_-,R3>I [^!ON.,&V<(RPI&\!?>H<\T_<"Y0[,M*]&>U@ASA
MZ"@9@ -/OK@&/.@$EY9OZ/8=O,(U+^&:?T0LP(KU]E*IUI3FT=D_U4\?,RV5
MV_)_J.Y-MMLZ.L.'2V[YG/%GJN$+Q_P"L$HWK<I'9Y6*(H,&*;GU-@S:9 .W
M]>=,D\ 6'=WV:<D-7CC 2,-S:-'3[2O@F;??Z3#3L'IT)H,4AQ]5DQ=N7:LH
M2G[K(%5.;ESG?F!317ZJ*6W/>_1Z3F".AF[4&B!Z0SL%^Q.<=*PW:E;81"P[
M'POUJ&VZ?1 IF2ZI&^[2C!E2MMB=O.F1E^W/I:<;J+FC%Z%U-E?7!HX5WG$W
M\&C<TT@5G4 C3]2[[=S3/JH!,!(>Z#,R&,@2Y'"X=:S#8$)43#>HF-2P>CKX
M*=$?H,"N;BZ/SA*6C_M;- "UF3N A!NU< !_@+(Q&/_AL_>6_^/S\#-8"-V>
M[OUHOUE^Y0&ZZ=_3%[!NZ T-OE$<4MYCJ*[8$^<#/P#5YTW<$SY;,&>@9T\F
MGH@G,'[E!N:MD3-OZHCP8MX*YJV>,V^3TE_,V_B\U>82-&+>\A2&%4V6S+SI
MK.R]M!QT]JXI^,/7EOX$WF4P! 4;ND#!0P!F%8KBVTYXIP4VINM;V.9%XM-=
M6WX0Z99JM7IT-LWG^.DVZ%(O;LJB_JBQ193@PF,Z7WI VHP!M0WFJ?EW^A!U
M5]LQX8HWH&9JD.=+CG!,MZ^/:O+FJ+;(F):FFM;BFVKWUG,71O/=IVW?I\L,
ML#X/Q=C+U\QBJP^E5N90LIJCJJES67@I,?[]X<OX<,>&>/L4Z)9#S2L8D-'5
MG6=ZZ7JW?1;5<IZS"%Y"Q%= XLAS:L9JK@F>YT_NRO@6A6)!OU:1ANA/;UF'
M%8QJ:7F(L0G>Y.$:*(>!KBWKL;(IIS1XI]S*"D"9RV9<ERXK>S"S[,5R!A-[
M/*S3& M'.3K0[4?J]9C?DAT6"/!_ZQ[MN@.?/O1U@UXY]Z[NN#_HORSOV7(L
M/79GLI-S3:&C-/LN; *<F*C->-QR*Z, <$GUQ!QX0ZI[1V?:P@$NN2(W*FHU
M_>>Y1TTKN-0-QE!LD.#)N?8+="S[7>3678,2@XY./G;C>D'WFV7;YWK?"G3[
MVC:RPT?W[0M]"JX</_!8E!L''1'<=?QDT/*409<1>-[DH&.:9P?^+]VS4*Y<
M05\]Z@?WP!#H'(_0?S%:T8OF16O-,NGN/*M'\55A%Q:>J4RLB;'UKL[4+-FW
MZDQMEY'*G*E9@G75F<KAOFO7>88N]K#[240HEICW5+<O?%00UR!*US;NYBS3
M;0V\Q,6X9\4DYAQWUF%JCD7\LY9!VDFZH]Y#5Y]<KCAW>SW7>0A<X\>->Z=[
M_]+M 5VSF]=LY/0ZU[7CJM?5N>8ZM[]W'NU0,(U,UF5VBW\["# W!=?@U]US
M;:[YYK'G:KES?N7[X$JLN]-*N=.]D4XW5I8DV:YOC"T;*PN3M7><74@GR+ &
MJ6-0'SYC M^)S]+5H*>$I5:>=%F6*ACNE3@1Z?C-!PR$WV+^TJ]'OM7KVY1E
M!HV_DWWVW8$7?F09IR?1++%I*PJLG47W4I:E$7^R3/S<L:A'6$=I;GKI^=7O
MV<R-\8?/XDO9M_=9FD_\"22+%V#^R]FHA_%SH^^2;IJI6W$$HR;";^+/<2,?
M,W.1S WBA$T,.+'M?M^V#-3PR73TP%,<>/0LE<IX8H$K';\N_C[^C*\KGO><
MG +.YCWJX0;G'>.XX[,=):J>P'?+3?3D&CYO$ZW./]':2A.= \*)50/.YD:;
MG_E+GIN<W(\D=/:5NL^>WN^"A+ CK]'Y[D=^PYIG,)J(,)\H_&A"8V\HKZQH
M^9^8X$>PN YH""\X*>SXT5F2LC0:P:>/N2]-IBYI>Y> /I%8(8BY&C$WIA[F
MD%J"F"L3<UMB-B=$)8BY&C$W9C"OIC._/^P8#:/M*V"*'KJ&%*3;67TH2+>S
MVD^0CA-=EXF+;M]A#O>W!F>C3B4OBKY9=HS\1*928QRCXX)C3()-++=]/-H4
MO0+^+"O8M(4$_C^^Z?]UO20E/\R=<6A\@4_[>;2J-WVZ1J9T[KP5"II5.A!/
M_*CM&118OA<H42?)=X2[D4\F:+B79B@'.]4$ PD&VE6+D@L&$KRQ#=[87=!R
M838)T.XB:+=GJO"QR5F =@=!N[T(/1\[S 5H=Q"TVPQP<P!:X11RB^R=<0JW
MQ4!<F"J"@00#[8C9E"P2A+GB^:L$/DO,GVN=()WAFF2@QV\UK1= Z%GJUIMP
MYY#KC3<\9S+LQ/-X\0MUW)[EY+UVWO%D7O$QV_NIP_X&\]N=F,9!X)U\*V.=
M1>%C'6X%OU1)+=JMNC"Y^#[JVT[',NC%GP.KCXS)MR0N&E8DC.8:6YD2JOR5
MR?^PO=8YS/*?A9EEK1OK]P,@<XV5;\ \_#F 05RZ;I +&__/3K IY(3L]DUW
M!AV\U8.OVHXY/L=W-LSQ(WW3.4WF7$G6+#IX+K%5E.ZRD9WVG*)A<@PCRWOJ
M'*QN_1=-8@C$PIE<$[36DV4DH"6@5:+4VF:I$($R#E&6<<\B-,SCGHW=NJI[
MMD$<_G&/E0[9/=_T-ZLWZ E\;@B?,QO&B%I"GJ.S,,"6HM&:Y.L8F%=5W4*H
M[A-H>8'6-BO'"91QB#).DB>V5*)/0))W2"X4[,_XSNM(C1"0%)#<3K)!)E*X
M>,5%3E&5-Y"0K--&LUNQ-T&L=1"KY&A6*>5<!=UVSL@41-XCLVTUL9L.Z<$]
MW(?T2J;XS';SPFKI>=H-09]CU0L9L']V,H?%%;1RLP94'HMDJ.6:T+&6_JS;
M>(+80Y?2X-HU6.XMX])YCK/AFV>+AC;RKN<?XV[Y18*HVR1J^?Y3K:(TTG^V
M7W7/3/3I/?4#SS*"J QX9')APM:-W@MOP0^JK#2B[QX&3S[]<P#CN7B!?Y(W
MC5WG&PF924A'S')F8_5(67HZ0\6?G=/56R@@2FJ/1AYUUNE+(M;F-#'2MY;E
M9LR!\KW&)E=2*,>X%_3902.^J'+%-'7Q: 4VO>U<.6S;S" J['?1Z]OND%+_
MW'7\@8WH EU[XSHT^N*+Y5$C<#W.+8KU27;TXW/G+FQFT0GD(Z*T[KH_ HB'
M"\1M%J":4&\"B(<,1(XVO0L@'BX0MU<I> [T[1ULN/*X\LK+B20ID22U'7,]
MO?@SJO:..]2#X;G;ZX-H= (_@F2@PY29%[KG %$XUS%3QY+&6-Z@UK8L4/(N
MV'G(ECJ9=B\H-C$>[HDU\UP,P6Y[Z'@N2&[!ICM%Y%@ <U+M)RNWE%(3"MCK
MA+!:OVVP>;()H;-M8A44$!/LMG;;8"LUT98CMV#3G2)R.ME0,/*:]6;)^9/S
MD4TP)!?$FCBE4/#86LA6<O6V^<@F>&S;Q)IY**A@MS69+=O;\+<PN06;[A21
M8P',7]RJ6FX I"H<Z4W9!ILGFQ ZVR963G8=)R)EA82O,H,\DW,C1-$&UOMV
MAMQ"A.T4D3.;:P4C[]3VV?G()AB2"V(!R];!V^' D,C:3=BIA<=HO9UXU&:;
MF?VNU2>VY?RX=^ULK_&A8]=[_JC*LO;1@Z\_XGU'1/<,;_K-T1T?\82'2L=U
M \<-Z!$)W'O:\7\]ZG243K.F:VJEIM>-2M5HMBI/3_2I4C.?*)5K1DO1]"/2
M\=Q>^(!1;30)_-,X^@BC8;WWW8%G4!\&@Y^[5#?9])G6"US"?__QDU*73Z,K
MX:5WG_K$#X;8]0[,1:6C]RQ[>/++(X#9)S?TE=R[/=WYY91]ZUM_T1-%[@?A
MQQ?=LV!R3QS7Z^GV:4_'.APG^/51TE8?6UI3&Y]TTO5HY]>CGX!UCO+:(/_X
M<^ &IV,MA1=/R:@]@@T>G3WB=G7B=@B>W8%\^NFC?K;>,<R>I[$FYFD!,5W1
M;>O9.<'SW*B7;?/[S=7CQ1?R\-A^O'CX].1]/'OW<''^_?[J\>KB@;1OOI"+
M_SW_K7WS]8*<WW[[=O7P<'5[$][W;QVXPWD.7$<B7X[/CXDJUZHMCJ=(76Z*
M/CV=7=[>?R,H%QS782>C60:)Y,4]@JX@"'=$'!V%G4FMDR^N,4!!C?M<CYC@
M--2C,Q#"_V0L.GHQ@.QI#X$&LUC.!/YS )8C]>SA/>V[7A#-I08"$?L1@$*"
M?H!..7ER7?M)MVTW>'+?<-"M1K5^FC?;X7S,_R^!P?SS>_O^\>+^^C_D_N+N
M]OZ1W'V_?_C>OGDDC[<$6.@1^21Y-SR@:.3VGBBU]^8'1F'&0W#]]I(\_G9!
M4ER7<%S[_)' UTI+J^XG*"Y=CP1=2OZ,:4I"I4S YJ=F21QWQUYY$7H1$5RJ
M&;B<F/!-!>RNH(N/5TQ]6!E2W:M0Y^BLW?<LFVBR1+"92?CL&TT0DO?[";>2
M)+BG@VW/CD5-2Z#:?!*H.B&!EI$^C_?MFX<KE#%"_*PN?H*$HK'\0>.:_)'^
M#\SS[(4_]F\^T/FT?/1;2<<"Z]<9,&]V-;:Y8,[:);SOAKTN8I<Z^'H5M2&K
MZD&(U#+F\)X^6SYB-<#]E-$\-H[.;N\>K\[;U^2\_?D:S?1[$ CM4  L9EF6
M/_+W%V_@Y+*1H"_E)2,@ND_\/C70L3>)Y1 K\(G196; APTB(&!NWI/K@8/\
MZQ%,ND%MNZ^;)G@VR6>_KQOQYW271OYBY$#.X6I*A%V6B \DZ9R25\L,NO@2
M^6?HV[N_O?O;WSZ!NC"'9Y\"#S[C1S-N-;JY!O>2U,R3:.I+0]J58[@>Z#86
M V&1JW.LXN8-SUTS!EYS4M^Q@IM]SWW!]Z'M%)?CS =B8&YK?(_ZVU445@J+
MUF5$4^OHK%:M**K6D*LYTFG4=?C-2)1#J=S>OV=324#KN*!V//+?@6?YIF4P
MS0/L8:6G/6]^\M]Z=7Q__'!,HFWRWK*]PVYYS[IC_<7:_S!W![)326[<XP]C
M?7@'OT-,?V0,MR8)]-^!#_T8IMF=?6LYV,.3UJXK@+9I>M3WHU^X$UJ)(*O(
M@%FU)6.TRG 'GD_)%\]ZH;GHC4V_$KMT#G_>>H_NJQ-W2#DZBXY!'N^#5(I!
M$37,..K6NP.A ]P3RR9%74$XE=F].Q>:M?^?U4\)3D4[.E.KLM(J)L[[Z'$4
M"N!^.H;5UVU"WZ@Q"("J<!E/"08E E_9 ]15Y"^K#STUZ2:5Y^:XY_UJ-$%X
MMCVJIZE012DOC]/@PXK4QRJH]EW7=;+6KE(#FM=K__BIJ<JM4[G>FF@X1?R1
MG8?W*XU3'Y2A3?OXUL@F3U->AX'M+>G!]'(RRL>D1J0@3\@ Y+IG@Q@\)4=G
M#\ <'JLG&YF9U /+L@^R<(#V)KAO< =34(KZ_ND#LA;Z?FTC./GT$9O9I..Q
MDMDYWVR'MA2S*\-^5&S:"4[T0>#&%SSKN1M=F6EZOE O  UO1\1Z<H/ [46-
M:-IQ([1>X9$-JM3YP<&J"R')+W2C2\YMW?<3HD<^T=^8M3)A\8R-.W#[NS-H
M3V<"XF'8>W+M_1_O3>1ETC=P))UG^-LAKUT+"#X2"%-F88J]S!WX5])1D:0<
M*NH3XXM81]7#"!#,&LL_D(CCDK[ND1?='N18DKN"H97F*N*AD(7BB<*8R_GY
M@<Y(C)Z+B,M2L2@E)R: S!A;W#>Z;^I_3MC;7VWW"<S;;[KW@P8%7#FW!\FI
MG5/@DJHUUB16O3,P-/ T)$:7&C\(W/\#A!=E<0*T4U*AL_?*A["/7=UG@5J3
MZ+8-=^!J!%H_?PXLM'W Y'FBT0WPXLC\"1]5- Q#L.6 V!)*&5 Q;=$ZPJ]Q
M"8"8\"UH$[RU[U&#,MVBJ(2MF_GD/;P/B$_\ 0A<O^MB)"\.IP==/1@?Q:N>
M[2J+.+.'HX%\D(CNF.2]FAKM$^ (;GKZ+XP%'V+WPY/8E>AEN$3CLYZPGNI^
M0, O-O6A?UR*9W<^\#QH(ES[0=$ ?N7 CSF@=73V'^H7+?&P%>BB=9T;ER0K
M1#MGQY>);R0TT+AG!0%  SP?(_!<!\6G/2041.F07*%4TPWF#'_1 YW@^L(X
M\D?O2'L!]P.XLRK7$-?@:0W"1"_R4'DD[W%J&J>JIAY'-P1=BX6E^QB67C<'
MA/U-,$W]#^4@-C59.%<1@.,D%/E $3M_W%!M+@%BP(U.;'@A);H!WAQ0 )&(
M=/50L.5>!8O+J>1^X4.7X<](-B+N#+<'ENP0Q3B\#<0>]OV9/'ON:]"-OSTF
M[Q\H97TS:<=RV"(G"RMA:$&53XMZR+Y63N/;9MY0V+_X/A3ET;T%?8WOM)R0
M1\$\K:BQ<DIK)&"+]^>, *Y#/YSL(/:F2\MK1I-V:LI1NGDIEJP6)P<L^5A9
M:[S>.;3\['K#6+PH.28ANYO!R(CN9M;A&/;9ZR:,Q5D#>8B F.AG<AXQ2AE#
M9&__//#!X_1CG:_F!)OGRSTK',1%S"%?0PXI<PCQN\-71V^.AS)G&MUD$LO>
M,>%59XI8Q?!KKC*P.GG&##-A -&.RRR0@1]*9&@TS'/+R3\!J8YMV4-L_-6"
MII'^#HS/12'[8OE,$CNZ8UC@.^GA,5MX,R:YF[IG^@07.RRS* BJO=<_Y$G7
MXQW6Z65:H4R!^UT*GE6L:M\#+9D:#5,69FFI(O8&<RL:?1D2"7LXQL75\E+1
MR(V;,06W#0HRCHKQS/WH0MP*B9HA43N$W9(&!XG0T69FT?\,'/ .PES/9*'R
MDEG/P#3A]-:.,J3*;( A ["QV.6'KN[1'/=QM,&'W>'?#@+&LL"[1\0')X>R
M@'\Z/=49]"JFRR*?%@SFB$1_^+\>7=U<'ITUI&9+E:J-6DS/N,-G &!L(\:G
M-[FR5!SQD\@K]2AQ1_T[WN3B3YI&6GT2'J;U0@P,Y/]Z=/?U\^_)$DDZH8:D
M5SY"TF>6/@C;ZC'VKLO'^Z-,P#F;[Y#.V!E[MMNI@)J8O(B+.>3NZ\WW;Z,Q
MA#MN,K_>?>IZ<<-W[:\7E<_W%^W?*^W+QXO[$Z+;K_K0/XT6C1#8&/7.C+9+
MPU&I_;=3@*CMPFT_R>P_>$XW?H 6&SAF)?O5T<?Q&?CM2_X,X#0N/?['V_-K
MMD$J>K%I^7U;!XZV' S@5YYL0& V[8>U-W5OSVLT8N;9()N'J,,[QB\F$B%[
M>9G=0:>%VX-RJ)H0-U^>30C-\02Q"?DV*<E2TY5ADLSVKOEW?*VU3V7+]3P.
M3?<F7$32F>AF\ EPR2/Z.X(5W /4FY)&N:?)SSV"^X\(V$7T;?\&^&"]D6]A
M9.Z"F=GC.SGZ!:PA$@#F2  @N(85ZX+FSZGQS5S]RCY:7_[9^I0TT3O]F<Z9
MJ\GGR,8?764 I:XNCJ_0W[7O'\G5\8*)!3E3M<9>)A8$6+>!DG 3ND85 !":
MRR?TK6L]6?&.SZN;]LWY%:@#L+!O[[^E%(&^]#!+INK.PW*5 :P5T@OBY2J@
MO6A9-7+ZR642FDD*/_CD_<#1!Z854-R#I2^:BL,K);B TOK@D%+;:Y!L9<0S
MDI]:=2*X45&:RTA \&K@>8PQXIE[KFV9+"3_6;<!U90\="D-_#@PU%05)0H7
M94TLMNAS:P3N4[P,H2GL&VU%*5J@]?78YP3C/G2WLX,^4\-V=Y1?\D<M>&CS
M/.3V_24Y**4-W ZY[=,PDS&/EQZA,1I[,,A),QP:=L\VF MGXTP3K"58JP36
MHJP\5BG<Q>+K7=<&%]N/XMWA;(4EN':9Y:)9.JL*KA-<5P+7&9U2..Y<][OD
MTG9?L_J,5RZ"49_5! <)#IK.0='JXXA;L%[? @;@#=Z.N1<%/)07*]@T*X1#
M.JOO-#?P$A'94&S* JRH\\>FU#@V]4UW]&<&LR0+X(OE&X.P\@L*X[:CVT/?
M8C)]A$Z$;YBEA/?<4W]@C[LQ)82U%H9N. UGRF[;0@> W0QPJW,$X4?8K<;8
MQ>5VS[5#Z_S.<PUJ#CQ,7U\Y,K\4[JI'9VICIW&WNQ9$LO2T2VM/,^4UEF1[
M_.WBON1UIW6366"7(^NW="NC-H^506K'Y)9ETEXY8?8BJV*T'8, ZVTTA6 6
MX)YAAM3G-$-(/;9 +L*OMF9RU '9K8-$MN%B1I3SZQ$H4<]]#?\>+65NUQ09
MP<JWGF<&!QZNOMZT'[_?7SQL0T"R'IYI>4LVV]IGOYO9W-->G!]P*HI/@?\J
M<L)%3OAV<\)W*"DUT06%\C]3I*?5/"[?K)BC>%&8=QZEW$29Y]&G3.YY*H<R
MHDG\QY1$Q-GEBQ:<)74-M6@R4\(L*26S,2X_^+T30YNCD/[,+04[/\JY,L7V
M8ZCOOZ?2-Q>O4I21T=.M@VF*9])P.EM"<D>*N&,Y3&OEVUM+=W)<7V56GV6P
M1"8$>ZI#OU$]V@R9;_U&,%BZ,Y.*>PH$RVNDV%U::QMIIVF6M5I"'R9M]*G+
MM*NTM,)^L"3_8);G)<B_C^2/4I()9B-O"P$I%;COLB_V#AORC*2-\N&0)?WL
MP.1^\V)D(%1"%,%M_3?"3#;B/3^]ER6"___ )<N&.S8WPZIS3].ARO3=QI'&
M.8[2FB'JT62<#M^@REBH1&O"/[7:APW)\J+]MFW?I_&BR![:4:(-T<8:+< -
MF7LY 7\F2&HU)D,V*4BV:@A&)5")SH36R5Y[@*(-T<;^2JXMF$#;DUS)3WB2
M&>ZVF2:ZXECNS^6181K:UM!<7CCI[]/:5L>R(=A:XGK[DULC4%/S:P2&-1R3
M&H'?'[[$%0('?N59U_LG2-2V8^(OW*;XHMNX(M8.SG7/PV*@_\+2?$L4"I2/
MSA1);K:DEJ).E G<(CDWBB<!WSGAJ^7 5ZLH<D53M@C?:KTI->06O_#E2#$>
ME$F?_+"-K6.;74-EB0?YT+A.,IZ[8%! YY--)>)0=L@)5L=]98O6K/JR1TTK
M(+8++@+;Y/3W?$ZI+BOHVW%SEZ[WQ1T\!9V!W8ZZ=Y_T+CFL81F.J54EM:Y,
M%H75@[P=N 4#S*MV.Y<HV,  &XJD-"?E 0XPO<83!OWVV5":ISENE$M]:9:9
M0,\-#58"4%-26U@]>;)R,C<ZA0/D'"I0&TN+OC4 M:$"4!697Z!R9/P<<E3@
MRC'<'B6!_D;1S.G W+#DL HQ0@ *3<B-@&DNJPE#(C\BC4<R9DG)HDC-:I5?
ML<(!7@X5GJUE]=\!P9,CK7>8+G^H]<*-QR.O?B+EG .^/E Q4I67U7*,J",!
MXB\9-]0D%?>"\RI!.(#*H2)365;!E8-,K=60&C6.H<F1<CMLE^X%_#;7LX1:
MXTAX++W$&Y-S>$.7C :IBE1MUB6M4>=7=G  E4-%YM*KMR4@4Y,:=4"FRC$R
M.=)JA^RRW7FTKULFH6]]W$ <EO1SF1^G1\GD&]5U)-HOF\[7WWC&R.I;3[8F
MC>;N>[[06GHA/<+110BCMF,RXSS<C[#2FDNUJ4DMGM)-2D2'X)M]X9NE\S/6
MQC>U5DVJUG>?;SBR$P[3^V5'%QR=/;J!;L>KE]NQ#82W4>QM+)_.L[JHT< 1
MKFF24N=XA8@#K!PJ-)=/X"D!FC5)UAI22Q&>L/"$)[<@WGEN'Z9ZR+Q>/,ZI
MCZ7/6#*RT&W<")"E$W1B\M[9@ &PK2]B"B\=66M(<J,E::K8O<-1<]P =>E4
MG74 5=%:4EWH/>'9Y>B]*R?0G6<+,U)#3TZH/*XD26WI;)T194/K&03(Q9MA
M#S V^-5US5?+MI<,*($\4>H<YTEP@)]#A>O2*3QKA&N]+BFM!K]PY4C]'9K;
M=YM:W]R&YA.+-=M<K*DMG3.46INY<1UCI:UDF!!;XV@CF5C6%)PRP2E+YS"5
MR"D*>+(U26EP%'(12YD[I?'SES+Y2&_2MB#/9N(9.D5,=X#A@3% \U4X9_Y^
MYXNWY<N&,.PLN]] :C:K4DOF:+5T_HG<KO87W+)%;EF^!LT*W%+5I&:C"=PR
M64%G!P# K?X_+(^_L%[VM:4_6;856.'AY00NZ8X9__G0U3W:=6V@M1\>"M94
ME<8I?H4+-,%POPXN24X[*ZH?OL[Z]G,TOY--"<*M?:0<B=6#<JM.1R6\[9$<
M%76\11NBC07:X$A\'915.%['.Q)EEN,'NFVS(U"QXJCM@O\)&K,'?LG3GJ=(
M[&RIY-K2*8+7KN[X=_IP]3*O-:E:%14L!5)G('7I','RD*I*=96CX"/'"O&@
M[/DQA1B73R7]$',L1UXW#&] 1]O%]UL?<KFD6R!8ZDNG#,:$CF1+VS';(953
MT;'5!(ZDM>I2M:'Q*W,X -*AXG;IW,$-X+99U219%+X4SN-L7<G4HN'V4"_J
M#-ZH+T%W>JYMAX6@A;+D1N@LG0)XT>O;[I#2>VKK07FB1I'JU8;4$"J2I^:X
M0>O2:7AK0VNSVI(:38[25SE6C(?L1&;.08@<R6VGW(D4X@VF$->7SK%CA>O+
MB'=I55"L'&T$$IGV@DTFV&3IY+K2V$15I4:-(U=W]Y/L#],CSJT79J<3[807
MS(E?L731L+(<":Q24<439?D1.QSBY5#AN73AL/+@V:@W)6B57WARI.X.RL^%
MIF_<@,8^K40\^N+:,/6D K<[XI0_WH3)"AE"SO,C]7K7ED-O.^?L1.IECP^5
MJW6I61-!7HZ:XP:@*R0&E0=03:U*FJB:(MR[''UWG<F$E0B-"_4D7EXZ=U:H
M/EXD2V/IS*!$LJ12#Y<,+DFU5DN2-8Y7C#A S*$"=.D4H#(!6E?QAV. <J3Z
M#LW5"PN&C?RZ+<8SQ3K--M=I&JO5#DL%IE8MBZ2R^H8<!4[%LJ9@EPEV6:V
M6(GL4JTJ4E/;?7;AR @X*/\W?WE3F $'*M>6SFI*B;0E<R_#*'*MNOM'NPD6
MV6<663JC:746:4E*K2')-8[BV+NO[@_-YT]7_XHK?U%6]DN4N!%MB#9$B1ON
MI5CRHS3[<15$RS$IWEY)SG_O4/"K$0.N\4,BGW :XJY6?&I4K+=*US+AJ1.C
MT0!M/_6&YM&9XW[ZB/><1;_ #O/(BVX/J$3T0=!U/1B#2?*MAKQ5\$G#FLGF
MG*.4PZ$\X$C8+7X[:6\)4^+JYK+ N&GF+:E-&C<;[*8BR;*,/SDFS]@%XK,V
M3Z>3NJG,('53G76#-NN&*H+%H5FXC(''\GW<68N;:=U!X ?P!]CT8G69E\6[
M9IZ=/^?IC&E&^!<*B"+T=ZPW:E;^HIZ;!GY%.PIKLJJG_!CZ'$+E4)&9E]X^
MYW&,AX!,CJRR@_(MY[#*SMU>SW7F,LF:LTRRYHHF67,%DRP<Q_KML=8*]M@:
M^EB3E[#&\@V=?)JT\C)FEJ7)%6NX7'K,MTP^7_]N1[.Q;"<;4K.F2C4EKSYC
M/CV('I!VW[-LHLD@EJ#WC#+YHYUOE7-[U,A;K5BV?^50HZ5)]6;>D0[%U+@U
M O>)>D13&#TTX0+P8FBUEG8!4NB::F7-B/?7)+71D-0Z1[N7.83+H:)S:3>@
M-'3B)E=%XWC;#T>NP&$&:$.S_YX&NN5@>57=<T#!BJ220UHQ;^7M=YY+C<:X
MN8A@TS:,06_ 2GY]H1W+6'8_6%VJU15);G%\]I9(-1&,T\K;VSN7AE\7X[2D
M6K,A-93=9QR.+(/##!)F\DW]PIP4X0USXV_,%R_-D4;,TXBH&QXPN.36$);J
M+FDU<1P)1\WQ@D]%GB]8ODZ 5J4&@E145A<N<=ZI@FZO9P7A"5P8=$>P@G5&
M'6/&/HNMF?,<V? ;[PIK/U_0S+=*51!YBQ#0=LSS-/W3$N?-MTX<R_[U*/ &
M].CC^G'!$7D$1$N!Z-+[>?<+HAQI.^'FI;<5,@7(C=LW(76T+<2Y9H8VH%/$
M= =X9MD8Z/DZ(G#^?A<(K[R\@T5W(8+P*LNLUUI2LUF56C)'9OW\<[S=@+%@
MI&TRTGP),AMCI*HF-1M-8"2.X\?S,E)D6;R#WT^N.<0!8)6F,[A@6B]G[]Z-
MU&[:"RS0I7,,+=6#/KZ>-1?UGM'!H+8=L5_R&2P+(_Z<8P2,-70ZZASK6T@
M199_/DW/FSX(W/@"XX'P"EH;S-0*YR,TO(I,G#$K+#+"P@;5X\;/4VV7&=W.
M6">1<1+1(-H"22F>^.GVH%-#5NC/Q3Q5GYI@RP3PZL!-78*_F*6)JR>D8SDZ
M&,,8LP[@ K.3C\>ME4)LO,L?SR]C _IEX1%ED 'X(X:M^\!T=U\__WXTSD](
MSQQ&R% 4+P$)LN^Z?+Q/7I86A ;, O5.2:J!L6>[G8KGODY>1(R2NZ\WW[]-
M??%TIAF'P]&9&C%A]M>[3]W$"[AK?[VH?+Z_:/]>:5\^7MR?$-U^U8=^+ _0
MJG5H9DBGI$O#N5%!J9'(MO])9O_EF?W15^@=9>?QMR_Y\XC$6'H6'V_/KRWG
M1_)BT_+[M@[38SFVY=#*DPU"/*O 6'N@/'32]5 1_ 1R/BLG7J,16Z K++3Q
M0TK@'>,7$W<@>WD>R9;CN#PRZ>9V"'J@8=U-_2R7J@EQ\5?,!^,B.-.5"7:;
M4VM$?#(^@P<CEUOU-0CFU&Q&W)X1;)^>$)YHSKA]_X@$5H!MLK\CS,(] (W;
MN\>K\_8U.6]_OKX@Y[?W=[?W[<>KVYM/'^$-^?+Y;ROI*&734W&>:*3SM$9Z
M2/00LLMMGWHZ6E03 >7='/3[[XX^,"T8Z(=EM.QZ3*]0[BS,Z)' !A/B,2KH
MF:.7E^[DN!#+[+^1F1LV)@=2'?J-ZE'F^V:"9!L*?VVI[$ RIOILJV9-BWX;
M#?SE#2Z[] 5B_!'D-27?X 5=GUP +LT\T;POI2$$#HIP\&"]<8&"]-* $(1[
MR@"++:5QQ2>C77J;XA".ED %FM:%)L[!)*3R!OE(%7RT*!_A2B3G+"1PM!LX
MT@2.!(Z$/!(XX@1'O,LCD<NWM<SU&QH07[?W_9#SO #:M(R@%C=;7\:V6)M1
MQIQ:D94%=EN_4&= +SVWAXNNV,*_K:![/O"!IZAWY43'(K9]G\+_S4?];<G*
M$75)451)YNF4'PXW5@E@ [";.<#61L#6^ )V2ZK#3TVK"V +8$\'=BL7V(K"
MI<369*E5KTO-.L>U?@2PN0"V(N< 6QT!FR^)K36DEJQ)*D\5+3CV>PYOQZX?
M8%;5L^N:/OJHYK8W)NUT 9Z-"ZG5ZN\HBE*"6X48NNU\103A5@KJO5@&]1\
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
M[+4C;0#JXF:><M7A.IEWCN9WLBE!.$$X0;@M$V[KQX;R:&$\NH%NB\/@]]=
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
MAFAC'[* #M-MBK* TL5^R*L5=+O4-EF:CT=[5A" ^P0JW^_J'JT\Z>A-]:-
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
MH1M/N*\Q%IX4RX9,4W*5<"[K^/TPM?RP#J:.X]C=;DF!SQ+IW"QO'_P0#?/
M2:"*:3LK%?-]MIX.\K QNMQ8;#JK_.@FF)-!6/">2T,H TS_LM4K;AG(G"@/
M2Y664-_Q\R[79=\K^M0L.RBQ%K^9U>!;"=TXC8[=[I<<:UC&=$L.*3SU\%N.
MW6S-MSW>U&5KME=R3.<1(D]Y(EHO#M!<4JJ\_NIO*>K4LYOM>5MT*?&L9Z"L
M._R'A@"Z+;O>FC=('A@!:/:W'P%HU=>. !0#3O<ALU99A'QC)M\2F77MUH:Q
MIM:]X^./0F;])LQ@E56P,9FUFH] 9JT'!)HT3F 69^#6-O(L^#A'B"L,U%99
M]&!3 ]7<336ZA\40[%9]0U(LBR!L&CO:^CP:=K^Q*HI@ZS/=F\8$MTT*W2V8
M^8] "KW69NY*J[<RF+2#>33M;F]UTN6>I-"\GZ^3:_ZT%1+:AKN[Q'XU&V#=
M;QO*Q]W>AH?[J./NVLWN//F4H,@J.EB53WA$*F@[6Y;%3T4%95BY#Q$<6Q^W
MT[*[K7G%^#P1JDL#T4J Y@G6NW=TFH\6Y39U+B2M(M+MYM(F?+U5\>A\^-E;
M%'UNK]?@NRSZ/#\;,^2\7:S=*MB\3/X68\SS-*O<@;N5XO:03/BQ":>TQ(AK
ME]GS#YF4[@?ZL-!SWVXNFI;&QU];"6^3",J-][WT?]8G@C)+_B&3VA(1.#V[
M75\PKXP**EE7MTOS:0\A\S('8U]]U'7)O+-M[V-+9-ZS>V7UIO>2==LD@DZ9
M?[&G#O[Z1+!MYV-;LJYK=]HEN9_U9=UCRZ&G/PBVZKQ6[@6;'MYRZD=]7DN>
MT[+DN:WR3:D.;^WLG$EU6*LZK%4=UCK$PUIEQ[4+A^NM42HDD(\\O8TURD"8
M?A;J+8<@<&.)$Q[_\K3'NA\*\YA/,7^67=U)1,_!.W:W >\H]1S8MC]DZV43
MS%"9%4[[E5:=O?9*,V$#=,,Y*,F\B=-I2DS(/+ID-NJ_"1?GIL==!)P<A$D2
M3K>)OJ@0(<$.P;0WMD@JE24/>(E:ZD[KU1S*Y-;>42[)YE1<KC2 =@L,[I#1
MR'YA[D2CYXU%5W]@G+3_%F[$*E!61"U'U=S>YBA^--ZA]ZFQ&K5@&^LZ;Z(S
M.YXQ*<)ELUN+=*T570U.0%_A_TZ?>J/7LV]T-:?>POT;I+\0"_4Q:&SMW2PA
MQ8K<]YO<55'<OA/[GM.ZA"#^RQ(<Z&VKY9(  0ZQ4<=&=<T>_*?=/GT:Y4W;
M1$4+O\;I;,$"( XVQ0IDU,-IU%'5GSC@'<!=4F,NQ)]V7FW3HEDLJ1[A=?,"
MX\7;E\O>W7Z59PTR21]W/.4QS^Z]JZS+$#^UD:\"GIRI!W;[.F8K"HVH^QYB
M;MO-DAC_#K?X26FL(NEU27J[E?>/0<J.W6J6E9+M"27OD:YKMTG-/:VNVZ%S
MBGC%:_1J.&#!LL[K]D>6E(&1;$\]_I:*+_#H'S?"OQ8<^+UOBK!K]_OS]1![
M(U+V@*B>*PWWRN!H'JX/MT:[K8;=Z\P7.>P-Z>Z1-MR)Y[=;;=AY8FUHR<2"
M&1]X<MO[X>&XG4FAM<>^0%C=&[!P786+9ON/F_!^LJK3M#LEP#H[DU5;I)2*
MAXZ&AY;T!'V8PG\0[X 7UW4.GW?VR!QX;L[Q#RQ*Q?2L/#$C5+<&55Q1><[[
MXW7<&_ME745^3V^CT['[O7F(@KUQ-_: B)XMS:YWK.\>BO.^H$5UN^[,H[;L
M#:WND2Y\;J[QMUP3'Z41*V?Y. W]DP4"Z][8[$N5[!^&A?7^=@B7GD_QTSVS
M75V[U9D_OK+_=O]IQ47/@XONW1^@5.UOEWNZ=L>9ART\(.;9@8UP_-J?/>'"
MH<U=*__F#L362@*%05FC,,43! 4*W:]JEO7'O4"(W;N0:X$1<$_WNMFWVTX9
M/L[>T\-N0^05\^R2>;9;,G9?7/"&W:KOL:Y?EW6.5^/OZ/A#]8[J'0?XCN.5
M [L]O7CBG!(NW3@,DR!,A'4[]7_Q73S\*H*S-.:SM..Q,^ZUW6;CK.UVAF>M
M8:]_-AB(P5E[-!"BWA[VG:;[XJW&TC/18[ G.!]ZO!-NI'#CC%?N]O3C0;X#
M-DZ]IOP8S/&\2C+^?\"_?+KY-1WA1K"-//SBDYQA+WDI0GZH*R30R[W/N6M+
MT/6B?V(P'O$<_3!.(Q'/'6_O];=PO+T,KF7NR/G\^?(%(AA/;;U88%]*6(.\
MN%O:A'J;HAQ%7>]TE:210W73)-SI4''_+2( ZS-X [#]LB1A?O@+^>.(H>H0
M&F/H1M$=JAIWREC^D9B%4<(M !#X8JBA6X8F=,O ]>D(:SP1V'"F#-:TM T)
M.E^$>69;2>2.A*6;"$1B*+QK7'0;^Q"$4V$E[BV!<8S38$0<20@>SAM+-@>P
M+6X7D-T*!*$:!WA!G+B^SP@?,#@_!->>T'!'8@"WKM6]P-;?P(#P*\:#QDOA
MMBCT?1XDMS?(#5L_=C:+PEOP*<$J&"-!<GIP((8N=NR!D1%.W 16'>P*!N*0
MWR)&+\PB2FD2-2NW8?P8>7L1X81L$#D"1%._#GT0,GK]LOX*//#BVC!H"[ZE
M;#5M<TYQV:1P2!K>+:*K@%#OK!LOF="/0)0_15*S/F3W>C&\?$P-GX":\"(F
M2?C33:R;,/6!ZH3<:P9FB4$*P_BY+8Z%T&N(HX>(+9$;Q&-LF&/@YWFX;Q;)
M=/^.+Y$1AX%(;H0(Y*C@*2B./5A0I.R$!YS)#PLYH+9(CSV%M'@,7?G>C=#D
MC+^)Z'+B1O,P,'VGTI.;*)]?75HXY$2P,!(OP0'(3Q*<#:Y[[;X]Z1^,0OT"
MW/&1A=S)IS".3RT@%XOHI5*J3'#OW!@8,!")T@8G/BW4#!8JQH62PA4&,?+\
M5*L3$'^H8E)2KG?PV[5' GC^2>ZUZ_G$>"#IX =P$/G)D] '/HSQ=K.1YYEJ
MY!FD4U3%H#+,NT YI@D(]X!>IT!(8;A>.*I9O^$884C+)@3$[(MAPD)[%B*X
M'V*ZZ>F1 !^2  ^'H% L;PQ4-D1-1XV@(JG&46IAA)4@X[PX3H4>: *"B%L4
MB5L1#3VT1T*Z V4"62O&8M#5(=H%<>H;M@P^DZP68PGH6AHA7"&71-\P/^N\
MOCUZ-&.T.!CA#(D#:-35V&@>FT)R00+4/&X21@S<#\(\G'H!?Z$N64)"3/KT
MQ+A @V!)<5V5&!T$R)I2J)?#B1BEOO@Z+JI6$A'GP4CR5BGJ6KO>?3+4-0-T
MK?^4H&M:1>>5_9&#KNT>L:FS(\2F?81B^C$/TW[T<=2*$$H(X;( U+XK*C S
M-)4D/%(&.&#L.AWCVW-PN(J8*F+:&C%50GF[N[!V=7V%,GI_YF)X^KWFJXJX
M#IBXFA5Q5<152:Z*N Z.N/9=<CWO,]PJ%MWJ[;@KQ9>YA,6)3G.<'C>NR<90
MP_6G!XPH/SK:KI<UP]RT1RYL/>>Y,<M]K[,C5@SK\-<79]@'LU-W[&9KKT C
MGNH@=46WZP&=M)UMM#M].-F^;=BM1M.N]RK@VHID5XE:IZSE[*:=J+<I:H%P
M&QV[T]BKE@25J-TW4;N-IL);$+5-N]$$BNWN,?+9'GDBSPU9\9*+\TZ,4JJG
M=CJ.# 7GR070PT!CVTYS4T^&:*8HJ?Z4=:#G7 ;ZA:I OXZ9OKYFM9]4EG8/
M2?;QRP?$Q.DZ=;M7WR-95@$Q5SPUSU.M3=VL7?)4KP-\U6Y7/%7QU%[LZ@*>
M:F_J!NY43S4Q(%?Q5,53>\U3G4U]U)WJJ5[=[O0.GZ?VR-U];N#)?&Z.S@ZM
M/G*V:S_XF)#A=BX9%X][4=BY>X\,GSI\M>K<\T,D81:(KM<:>^P)+U[QG>$K
M5QRU.ZS%MM.[1^[Q*1@*^*AYD'Q4 9<^ V9:I)[*"E!6946?6CTU#Q(/N%)/
MQ\U1Y0S5*"N-696O?2+UU#H"];1?V( [0KI0D1)+H:6DP;6(\0N)DJ)0*1+S
MQ#CZJW'AY' 1!BW!Q@ (G[&@7K$L>KIYEN\\2#Q&7+D6EQI<Y3UCS8P^1.'T
M(L/8F,>DN'<_#.*#!3,KBV%M'A?>Z<R<EF-W&V4(X(4O;.MFXOF,,8-4!(1A
MX.K8#%X3A!32H(%G 'MZ\(B4,BB-@V#\PX!+N3<MGFB$ME -Q(K3X401.<.L
M38 'K $BH@$W>6=J\6W$U(%1,UK/#0@;D$[PH%%HQ:%Y:R1&Z1 AVB3J2^GH
MPU@CO)PNQ=%Y;,XOPKY(?*:W"+.F3GM^^_W=W\O1R^:E<!Y<!;Y"Z);<LS[\
M^+[TW(;Q@L*]D_%9%-[,?XG +]:WW[_\\7GU@9"%R"[%A4;\>PDPE__G/WZ=
MZ/CHM_/?WY^]^_[^_.]GYQ]^O/_^B^7Z-^Y=K+01QOL"D9O3&VLB>'$:B DC
MHY[_IT[_5Q80E3^]>%U<R+_]5KZ0#'UVSV7\\?7BDQ?\U \>>?',=V%]O #$
MN#@;($Q/"=3:"X1\D\AN23C,AV=OY(P]$'4>1C]Y*_"*XI<Z4)K_>@V3H2RD
M2\ _*%@N4!(3^JG[MG17^1\2;(H%"@Q1'AF>T_YK6BX+(.M,AMQ\,$4:7C<8
MO=;1H:_??GR\./]D79R_^_3>NOCZ_=O7[^<_/G[]HLX3[=-X+S1PZY<0 3A!
M4&=?79A8KMPP R';+D$/"=VV=Y]F@_ LGUFQO2]1;/LVW),_ C<=>;"ZI_-#
M.R+44* C7("(S)?O7OPS0]J>0S1K5 "BFP%M._6# 0:]%%<$C?LQ8.-:H5J^
M2V-0F3$;IQ=@%WJ)E:.9"HS;0%J4J)+6+ JO/40('=**V1J.DIZ+4)H1(T</
MY/*2&8YO#U."$9TB1B9<2;()!"4A65^%0/X!;A/_PNB;N#'@EB R=+T/TXCD
M7S"&L8>@RE=NX/TO[U4MOW<$H\E["J_XR>C.X$7,Q#"1*,PC88)S(X DS\&_
MLWQOBO+1&J7DC92A6/NP6CG84EC%$.8FH;#5<H&W%H+\#<!KCQ&YF\0/@:,:
M@P-7*4RO)NH[0K"^ACMM]0V-A]<#/"@O"2/TV>$J\&2P<4#-^DRO(#H?"-\3
MUZA5"=LT>\\"*'3#HQJ)?Z>@97V]S2-RB);#K8^UBHZUBLXO@O3FX/V^L;M@
M1!.P*F&=AC<!K-W$FVG_<99&LY!)":3B,/5=;#JGR0K'8+#JT:.=?KBG6VTO
M".TTUBO@_I\Y+?KN[IT(AA/$(S^_]>*S2Q>XYSL07)"*+R+Y+) CRF[[<3<3
M=,>%9)6Y:^2]G]U_A9&Z**9;O@9"?<$7&8&9;^E\7&;NT=] ZJ!TN1*.#K><
M-=:.MS3!W^S4YD,MKV@+%JQP>3EO,<14K;!>X79M/O/SRE9BV[L&P60S/K(A
M?C"($^,*<1C+39+(&Z2) J'^%2N2%,.>Q6)XYMV>3;P12+)?8(_:8"(LOZ*S
M\HKNRBMZ+]Z&@?CU-5[UMO0?6%V<+D%3QSP#Q)"6.U*S[LG^S87L7YX(+*;5
M*^+4Q-FMS1\[7L;^S?4R0]4*+Q>P#V1_ZE\"(U_!7\=N/9C6V,1%J/3E$JOI
MO'@+=M:5KX26[+U#RQI+APHM-6FED5VION=+X>ZC:T0BN9#S.MP0X$]P+!3G
MS(45FHTJK+!96,$YF+""I 7KNQB&5Q@-#X,J7L $))>&?+08Q"T*!W H1^E0
MR6IR3;D_!ZW>_V):$KZQ4-1[8^#.6>A1:R<K@<%*7Y&=4+@+3!SP.&></%"/
M0.\PDIMR@_TRJ&='Z.N.2[%2")E99<I%&BPU*5&_HW0;@K@4W)E)QRFX#<K4
MC1/,&]*$W"NPRV0_KZ@T8$#I5C<:6=C+BFTW=*B)<#A(,A#*S2;)DG6DRIN!
MPAU.]$4V^\H@D#S.G.KV4OI1L *RRX7< W@;/0.^O9EX\(<7PT)35Y>4PA^H
M(F&!,;@3ZV7AME9RC!Y*'M@G^'(F(M+QU+MD !1"BC:_M +;:%&K+1Z\G(]>
MFURD!K=N)'"5N-$H?$%)77B[.QR*&9*)FO[1*^Z/^;4P.X,!$PQ12"6E"ZU6
M;>S=4C\:Y!^^@_@N3@?_DJ$P=X3#(,V-"7/Y-J$SY(H .*X&ES#1Y%Y[.Q.R
M-PX0"$5X?#&BD)SLFC,*S0(#%3/")F[P"/"-N'4;=:;CD3"3P$BO1 #O)K($
MQF[6\27]NC5R[^#W,7'@Q)OA34!SU-T.6Z[%,3-I+K (.F,21EEL<1CZV!P(
M8UC 0#E6DR.E\@BP%6GP*BJ8A+;B>G@(52SP>^$3]8L[ VV.U\GN>PN**^;V
MDKO\E5RM;=RC)W=3:&C5$&NQ+AO>Y74#"0PEVIBX@2!FW(5I)'QP'"*UQ1A%
MA7&G8UCWE(*H\!>WX,.JDR23_138QCZ,T8A$FQ;&).E'9^F,FE3!BX@OD5QK
MUJ6'EYJ<D=S-T/KR,0AZ'1+[Y<A,SHA<%)H-:<9RF2HG!W_'*'EMH)-,65"?
MP;B@4W-2.).VZIZL_R"8[-S(")XPNJ;WYME>MS:D9=3!;B3<,,KIG;RNP1&
M$LG>= -,_G*!QUP(F'EKXS25&>.?U"OO!X#C].IVJZ3 ?W$[T46S:I?,JGGF
MU,_ R7KR63EUN]F<1_N3LRIV1#UZ>7/)UBCP$;A)+G!\1MG(25-,$H$1B*W9
M6%=F9AXS*J=)E/S6FI25@5(8D0!A$W Q<SR?BBIA427.\F84ME['47*K,W!.
MKKE@3< TIYR+29,TFA\.EA%YTQAC*0.R#G!T/"I*"KFRD6W&I^62HWC54F[N
M;).;O].;'TK]S:;=*(&!V9RGN]ODZ:W,K=%NV(U.:Q\YNZI;S-4M-JJZQ:IN
ML:I;K.H6=SV;8ZI;7&-HV]1JQ9?OW%D.QQ3@U$%&%6Z]<2-PS!*,;LJS0QR]
MT65<(*;3R&6W%0Q:=(&U+WWC^5C1175SW-"9C1>.$N8<81FV=;,NN:XV?_DD
M119C00ZA?)&.VUR*F1M1X=$9F:ZCDG%3?5;"$U6>;785VK=X218MRJ(U&"_D
M ".6-_G*YM;!7;:6:<A&(!5<8M>+N%4SZ"KIUZMUY1G*:6=S1.<7O7@7(T86
M)G5DUA'>%%V)H_>G<J5OPR&>;F)JT)$2M*HG\!\Z=88VZC7'XR+ANW*[LE[;
MY"H9+EE,H=^8W*9QZH^1/B7%SL6_"[%O]7P=E[@L'1$^G7T_,P 7@PU#H4!)
M7ARI&V%0-J8<^+6@&&B F5 9WL/ITT+@8Q=HB4PWD(T^$\^EFJU0'9BBZ")7
M',L!O3@F*4(!_W^G7F3$RXP^["J%-((+A@D*I)+<O[Z>!8;Y>.YW/^-M =*2
MFYQMY(@CA%F[;]V+O4A-_#!%>C)5DE6$'N!N+MZZ7[VWOWFQ>P72_TJ7VLJ,
M'ZC%MP<XV35)MZ=)-VL[S\2F@Z=9-4H9,?X1>)KK.0:#!;%\9)%D9>1)^8''
M<N]_DA*O02?_H'K2&[45[V_!_ .MJ4N4WMW]+L*KR)V![7(>"3<N[TO?KE=]
MZ:O&GT?50'<?NY15?>DK0BCM2[\S,JAZ(#\##CC@OHZ'TDN\(J:*F+9&3)50
M?D(^JIKM5IV<*SK:%1WM>]/FBHX.@XXJ>531T7.01U4OBYWULLCE(*I&\;M%
M'UZ$3MHNZP); LZA\\=9>L3UZ3SW'Y?+ZU!7G&3]J$Z_G,NS-#_<V_O6W-J(
M0M)T]@B,N&K:O:=D7X9)4P)*<0ADW[9[C;[=<.;/6E1D7Y%]GNS7! HZ +('
M2=_O-^U>IR+[BNQ7D7T9N'P)0,X!D'VS;K?J7;NY3RVF]]CG:K?)W7HV/A<V
ML\13@G,U8+ON%5CU37W*OJGMLIX3&WEU7\+@CW@.GVNGDL^N][IVMS>/C;8W
MK6:JGL45[[7;97TY-W(M]Y'WNOVZW6S4*]ZK>&\O=G4![Y6W\-S O]T_WFO;
M_6X#?-U*[U6\M]>\5X;SNY&3O7^\U[5;?> _Y_#UWA[YY,\J#SIW')'.6^G#
M6[MVRZN.KD\R[G*)V2G#[5[:\W*G>::.[3@-N][O[:\PK%J15VPVSV;.6@[Y
MOK!9W^[ _[=+H/,.@'(J-GN^;%962;2TS_&.\VC]3L?N=<J:&N\]Y51L]GS9
MK*QR:=[-WA<VZ]K]>M-N[%--WGW9;&%_A9VT'2EYZ>.T-IU./0::/0]&2"Q
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
MSCA5_J275EWA!2.@4&)Q8F1UV0EU&;YUIS-?V/0:$:'^?$W1#.#F&+Z>HN
M^6"KQ\ %H**BT!T-02CB!0$UT9IA=F,X$5/<#LP]PZ*3R8'-M:XXVW'CP;()
MX+&A&X'<B18-[73UZOU1NZR=#4@L&)(2>;#L3ER-;*_UWG&L=(@D!_]>8<N#
M_*)0%W?YFS!= WR]-0)3R8URI& X'&#N!.H-0#&G3)I3U MJA\!4P$^POF!(
MQ/1CG,4+Z1T9BV>]A,QU4"^\TB>\E*2U%ZUNSBKBU;KC+FPWD] 7.;88B2F9
M6&&45SO<,%ZUU\X4,UV9R?>LD?8U\K3O@H."^Q(([A%W5\Z,I"^\6UQL_<88
M=;1LWH7"Z@I6/% MO$Y&*2Y_WME"M^Z*0B9NC.WZ\'4P.C#![SAVR_M*PE&X
M/[&<@U_/:HGR""NTUJG\EAP^UEA7$2H1&/98"4WS&QD)(8K4)Y/>L%N@[0<*
M[$F!F^GTZ]!/ISDI./9N!0;Q8G*T9$?%PEUB/(:Q2J_BGH/=;'RP:9.[0>2A
MZ8R>#K 46EMT.1M<IZR,)N /R&^XU ,+9GB(\#?%Q"DMX8<W<$7YP,Q,;GZ0
M;""SUT"+%6$!(OC<_%X8+5S+[<XY * JA<HX2<4(L-UC0B*'R8*U#<M%5-FF
MD9'<S7@U% EKON,&B'.]Z4]N)H((UTB*99:3T00363?,\F+Z"=)ETL5)>5H^
MY;"!>EQ^M<0M> N&<L0:*M@/5._D<L!4KUUP]@<H%7,C,0S03/ 0=1&3T2Y(
M@J'<F%X,"D,8?HF/BYN[(8LW\)ZI9H(!QMN5$TL,7V;Z90M;-L1L77R6MG.Z
MB2]%.R.*P (!0\I-$G?XDX,C0W9%;]S()G$DTVYD!VLC2;J<2H=JHU+.3#UD
M"*+0M]( B#6A>#UU2I65"$J;Q>#<2K\+1343=E9&EC7=G).DF<^H_"VE8'*=
MZS+'S+#%LX26T7E5ST<]\(WI8(#S%(&++6OK:-719 8NCU'P^Z8_9H@/_3LH
M_UF(16KN(%3*-41>EXX WL>_2<=J!)?<P9**VX0;%OG"'5%E8&8*92LBZ9B'
M2[:AP'MR+J-M^&/R"=+B1Y%CMAAE38,V(3N(\"+?%_BN-SD79NS+6)QT!TUW
M)^^MXE-I>I)&#,_-!>IT_5 J0-,OBCDZ97@BV<MU+2.\ 0B,,N"QN9C<43.F
MBX?N#+;6-^\?W@W0E*<0Z)T,2K'<&WHC"I'A)[-_I@R@Y5A!MF E'1#$L+QL
M89.+!@*_Y+'F$F5W2[]#M1(EJC0>\:;@/)(%3>8'6'GH=YA/I7ZVN*VDJ'B%
M E?V]LW?=/\I%D=DDF*62)Z%OI<%_N1+^(%X#QA8OH?%$[E%D4^2W'R91:GQ
M(>]O^7?K0G='U14<E^\O\C&W;URQH$)11EG)5_3C,'!GO0NQ!;5ZQ+>+\Z_O
M\@_)LBVE92GY^[&*);O=,$@_YG9AC2=]-)XT%^W@J&JJ0G:P'_$X1<U%2\JZ
M/]M=S05ZO>4%LDGTM1<KE_)2D-CB0'BKWE*.P:4;#5Q0OF=?;WV!*TD/;-3K
M#8ZIL[NL6^&R*8]A!JX)F.&@X/MT(=WDW7"#FE2V0GG7.58I1AY5@D&;"LHT
MH6%(Y4*^(PL9MOLPY$)]>97APQ_F)-K2"TL6F!FX;.!OE/B:"-=/)D.,BTJQ
MGRT-NO=:R(_,"&/I6@ CS#]M(9-R- (+*N3ZFA&,W',-D8H+H,4!KFMF$>&+
MT/('U9A& 1<^78N8G*?P1F=^X@D,CJ(U=T5]CB-*8Q4)+"XE.@+ AZK/-E[B
MHUJ,9"A0<41.M4PQ#>%2&(BU'<H2'3(?B4&BPNNL]\AYY4!Z]CUV=AYA,W9L
M^2Z_%YS&"JY"#K^JP'UQP>6;AKJ/=F;;F=ZE?+7\(6LAOH"Z=;6]7@KC'GX4
M?BDM8G5U/NB\]"6IC"?(8V/28 >WW@UB6>5?%AQ2 3?PK0.,/R\UMVP<AKY3
M^\,RK8!K(TKFIV4JW$SQ'&D#A-B=F,@EEK)MZLH4&U(A9^W(Q\MD(RTY]>RF
M$:#E+,H&("\EITV;NB5C>T.^8D F)'D0V4>PY:0CDD_-Z&P0AJE"Y,IP^).C
M$+B00BF[4/GI8!5@U6$$%#EB8@,6$%>RLWL8%(JR^%&@%XU*65E)S$LR;W1;
M\10;/6<.!Y8F4DAX]<BS *FBG3RQV18P\2CD^#+;F'.Y%5(3Q"Y#3W8M!PI&
M$Q)[>$<ZD@Y"!:X&HY4BV+J,HC!,7B,\R" UKR&K \0YC8@\805F(3L12$JD
MB\"V&/BX=6.5SC%9#_ZWS5&6J146(^R/"1=7R[; @DA16H^\V(T3@^'%#"8#
M#A6Z@ ']10ER^2=<KM4=+0A*=#6(FS#R1[E0$ LT#).R",G%R'*<(PIF?J8L
M]>@#=C)(WGN8CU=>3H!$ZQ%C:C5BO"D7' I&2J,A5<L6YJ2^6,(:RA$C>RYE
M&N#QZ"*B>Q!Y3(XV:* T&<&V&#1H:KML^X@!UUI52CXHDT(ML9&L(9VW%N?+
M^F=RP=*$RC#S07<<.2K8V(A6*%V\=GY*;F_.HY8[S8%1.Y,\$2^EVA,,;FJR
M&-T%+@PJUE^@=/0H<85?#:-0CUNI)5KOLE#V1H1)"U1"FV_DRD7**.:9 =<I
M?F2'S#Q)EW#1BR!5_I1%P%6=J-.JZD2?69WH3DI#GZYF[T^!A36DND"0C71=
M6$[(6&@+4OR,LF88XY=U3VC;H95,A;2Q=RUJUH<T0IF)(MU&"8B'-E3IR0"]
M;IG5A5>$H'ST@[CJAB2<BN&R"4@:F<H*>ZB#ZOTW?S<U2*J$]!B\J.!J]\<B
M'F&7?N,$)[A;*5H?TIHPU8'OAS>RV$@5X9+Y/Q "=A:%1Y;'"(1+ <@)?!OA
MUY,PC942%;-$/77H\AEK]5J*R@-UL-J&N?JJ>JW\/GD."-@M%E1/ _Z'O$2&
MC$KK?U5A6\R1'0[ZJ#%HW3H(T<<F$W'E1-4$CY$T?AV\Q= @5G[P,BZH,CS2
MFN/%594G(!\>7!%YB@+.I40&E\YF%0[$&5R  38G^;QCKF?CZC8CSUI2/T(Y
M696\R"7BP45+V<*<11[,U<,8CBH2T 4ARIC$VU7"%*SV> +77'M1&*B<":<G
M73^YTY9U26DIV"1G^7Q;?"KS'EC,NB0O9YO!E$1<110QCU,OD2EH3!C^.^6L
MOW;)F(>U<8QK'-_%>,1 3=^BZ)<[Q5?B22SU;!G&D)48JFRL9GTM">]HK0)>
M B:H.?.9HLS '5/9:'-9906E+;>,?B%OFW(A5',S=*>SE#V\;V H8<&)HL)/
MYU^RP/S73[HJ&,N_P//)TB5&Q6%6RH$SUILE\R%9=>W<[N8BO>7E09O4!.E2
MHMRK;=R<&S0#W7@9&>0V(%OW!?P@B=\V"Q3H +J,&?'=\:+;80 Z/@:$ W?Z
M@HL<@&@7O9)YC,INLE4V+E95J+S8<ES&30N>.W.3(09[HQ$YG>(LP1.A 7'!
MDMDCT<=B.O"I7"'"=#92U@#$$6XL4M^0*%.=$[3EF\ 5%Y@8!3%$YP7(V9T2
MM(D8>2"00CJV:[XZ$D+F,UWR,<-(Y:8D&_%XBH+("/X8]TFI$"F>DIEH(=AF
MG&+FAGUR+D@6(Q(#JJP/YR9\X!FN'V+Q, +6%EPP#+^I<'@AIH"):2I-1ML1
M?'W$U!(1IWN/4;$_6'<Q H^1Q//OZ,#U54!RAXI X'O!6\&16=S18CU10:W)
M8B)='IW?<%V2,/8$UG(O$B7E#T6U0<2(3R<+#Z19&$:*%NCO%,LAB5K!8TF8
MC%@-SX7W!ZGG:Z0><:U5BRK6&(.YZ"*%8SK)J"JMH>5 JA^UWZ:+"&HUG*F@
MJ1<$X;6L<LQ)(F8RHVH4IZ3T5!H;?*7+!\L>4%J:JC*TQ\@7'Z2-#[+?Z?>:
M]I*#-;"!$[#<P/J(L.:"[OD>ND'X$RCHGQX^%"0F&Q18GD>B-%=^3\6R(.S0
M@1!&-;_EAT,W6?!$FQP/ZSR>B&MPDN"7+^3[7+A1"#SK,O72-;^A50!O_2%N
M7:"Z/X5A].4.'J11&;^X'$V4(U#CNU.IE]CZ>/G5ZM?KSB^-NM.V..]"*X$C
M^/SQT]GEC]_.NOWZ[U281;@+]I(A&(92:?&H&I">^@9#DG7V"]^]RKI=.B!>
MY^TLT#$R%8H[*7ML)<%B&;36VS!OC^7K2PDVI^@1F37L<UMHSYN3F5DR[[B0
MY6%H%&(8"BA)CS\6QL['Y5RCM0,+^;5G/6]+%DAMH9.6*W5:O#ZRCD%[&AM/
M=05W;C[QN<&6&LZ&E;S"FT6 -SZKR6J<DAW:<2EG\"(M;+HH]Q$;V4H=(:O_
MF8L=Q&B/R:HJ7C># D:+Q&<RB<+TBJL)\*P"5B#?!.3WRR.L=]:Y1-M2ZOF2
M_'N@MX_!L)9A&'V]U%XRZG5F(<02C%><F'VX?2PK#\1XS%%FKA$QHAC()O)\
MIW"GQT@,>( >9XGS UH0/V-Y-)&.B\ BGB4>!UJ,T%7&T["" ]@U#F3YOEK"
M]:-@91$;K!!D6LF.J \PC$M!I9'$G!H!QXZP]+/DJ>QU%K1%OHQ$%6V994A2
M>DM'55TBQW*,NP\[K[/ZB]CX DO\81\O]:9_^G2AV7?N5\W,DH;B=0*=2G,:
M,3<=5BI]0_YP16:- [68<]+RJL36WO5V;@7"90%>UD+!"2O3ZC7>V \7GK;U
M+0J'=V'PT,=<IG1T++(^@R3 )-<WJ8CT6"\_?X.] \JXR'FY^O<%BD;_7D9!
M^ L+B#@.P1) X@$G/(Q)VE"U&A)@O#2E\GC074]6>;&J0"+W@HVK)=I'71\A
MZR(L62=1OBE5L<0!Z\=?!V\OT^F4RF/'ND+UFQ&'1LUUB=5A(^L?'&5BN"O"
M<_UOU#H('?G$N=>'86,3W6ZPL'.8V>5(TTXO-]!Y0.H2Y9&[<W$WPVTL7[_3
M[;]9AI==,KRE'18?4;U?Z.)\/&>I#B]K*RIF>OQW1H\&OC#1(_8KD4?6G&ZM
M_PIM_I=.I^:HH@Z;,5,C#D*_=/JUCJ[WT*\!'TT=^T98%GJ\G54^$@36M2 H
M5*Q<CE& <+!5G?*&:] R1*">"(]&<SR5G3 9\LX5C9H'2*5USB>!582H!@M^
MC^7(3O#U:NU7A;FW:OVYN8^]"":\Y)&U/8,JKT3"<8N$W\U#^1EWM^I(STC&
MK5I=4[$ZOK22,0IBH%/KS4N!50]IDD@ XLOA!I@<URMP7+/6K1BN8K@#8CB^
MWCK)D3@5-8%B0U?*Y?"YUM6GU@W\W&C7G%<*2N4^'-ELU3JO-F!%&8/)'@ C
MJ+^JF*QBLOUDLLO?_Z\[G;TYSWJ"W" 0_,MVK:DUQ /8!YXSKVE*S=J:-3^4
M9?S-XVPVD;L>,,!&#XUS\P'&X/)]0\KY&P1$,_> BL4K%M\K%D=_C= >42&^
M=#(_T\8"X)?U6L-!@N<CB?9#F"D0NH$(7/NR46L57]7,O4H)!'X&D>&<6-@S
M9GG,'A)(N&:_M+-&3\7(C@G%?8WL.:7,"]BO^0)!JN0#0HN)RQA())]MS-4Y
M Y_\B_%"-4ZPK8OZL22)SH%3MAY/NHOBI6'DP0 1*5N#)>6@&.4A 3\59R X
MJ0$6S@%^J5GG6=96(QEGP\3R6TP$*[#%'$X5UP#CN=A E<(9:(Q<G#%T R.\
M4PX6O$"%;C"00!^$RO] Q?V2:3&MS7\Q6*4L"BW"GBG LV&8SGPQXGA5.0YN
M+"LV#6"6DI$;@':\E?G#PF!9,-!:88*XD+AX5( Z4*]G3,JR5<P=?RX#QS1%
MH2S[UI"8.T^&/D;LWGNK8X'4-4L&(7%MV$^3"'<&M&4!BL(MPV4G?..A&8$%
M>O+DX3@\?4?GU/",!187*W :.@%?LV0/:HR)&D7$\K@EM5+5L'\QHU>/111E
M!]H469G0;:8L.,5GN8$\+<?E$S 07S!0B= 8$EP1878]&E W+N')0^::GI0:
ME /C<QX9>6?QV5&8=4WE@^L(5D4U_02PDP:T1*XY182JD(W*L#QDZE[)RDLO
M-MM!H/Z=BL3 ]%#/N'$C6*7DCH;,0*R9(>^+(R7L"PF/=15BYS("9$42EQ2N
M%TFA:!EP>G/K9F*E3=&S,:#2):XU6(M816T>&*&;#'1,!N\Q"Z<SA"'NTD'2
M%8:3E_;\H-S1W_FI81E^PB1.5ABAB<EIZJD=XTXCIY6@K1IKR$H8=N?:(^ 7
M1F%/K'1FU%81@"]*+6DJPY4LLKC>\XZ >#.M:$!L&$^ 75282I3'058W=9)Q
MJ5T.M*N@9$'0X*$?@96#(L!,D3N<4*9(?IV9 (QX2N=&-)XS0NT6:$W2,*Q$
M/,-#[$2RZFG\I(QV\[?F4'GQ"81$@N!A:,;QN$!'_RV/HRN[VC#T[T)(76(4
M$U1W733="M/C23$].A6F1X7I<4R8'M3;V><#MM(^XUJW$9X'9N"U:Z$CF;F>
MLG-Q3EW0:=C/*BR2-Q?X +,6MYR2EP<W&5'8SC![I8%!E7;P;7BC7VAG5B["
M<"$N?_:3!,C*OB#XMH2@*6W@JA%C),K?[64C-5=#EI0;)UZ-,?OB"@]-9R"Q
M]%8O1DQN>51R+ AR Y&F!?>0DG9-JJSW6"0)T&C6/(2 ,JE]B*&<% 1=UC'$
MGC.[C(I%C>AG6%M': <!/7\/[^BTA@S@G<@-/L6C=HGIWI%5&.6O%FX4L&WC
M>T,5O)]?1.PC$"3&B7QZN/D\$Q-8D>"1+OCY%,$7_]=5YV41EC2X\M3!]22>
M6W2)TI*[2WDA.:@"XB?)*,5]D)$T\B?Y6!+N!VV,/ V0@;U<H0>#UMG*L5(-
MDNLCRCR^*=5HVX3G!SKK#)4>=IF:A-)Z)%,7EF8J[P!O'EO_7&>P>'-O.5)*
M^)IPP\02QIOS.C6VN;S,M+N]&"T/-Q A@;72XQ@[B"_UZ,0'^A6,)HD&>,'M
M.WQ1-W?X)D-NTDA)L81*H@.60)T^4F@\%_6+L641U:TC[?+JZ=YWF!K!51WE
M0U7Y)I5&^SX=Y9'=T/%\#1VI^&6?ZU:E43OV K( RYV7Y?[ $DNS:/N9V0^P
M]V[GLX7&@/[&B$%Z2(64&X(;@(US_\',&\$JQP?^!*Q1\-<7SHM2&_=!+UF<
M\GS4=^@Y=5:[?EL8P[S#NS0]^I WE2=.RR8WU[KYQP1!4S[# R:Q]9XP$732
M;4'B]^ )8>OO^'6@7X-+-_^JQZ2S-5Y_D*^J.'@]#K[T;BO^K?CW :^2!2=_
MJ8R/(Q9=TB0^XVV#RV:W%MGT5G0U.*G;%O[O="\EW/DL\GRK6;>?2K*MO5:[
M)J9&I0<UE7SCA.;1:[]*DE22I)(D1RQ)*G/L&=#] 0O1'!A!)3\K.KH_'34K
M.JKHZ*%T=$&UAA4E5914:;:*CO:$CBK-5M'1\]!LIKOZ1+YI2>4S#K%1;]E6
MH]F#_[3;IT_CP:K:Z4;OU5.34)Y<C'-JBTE%U;2\VMY>+!,LC_"ZL@C2RR7O
M[C_JNW-L3.<8Z"R [3@-NUZO[W!-GG13*AJ8HX&^W6G4*QK8Y>MVL.TGB(2X
MPQT_?;4_R__,.+Y9M_N=;L7QSYH&NG:_WJQHX-E)_5ZMN1=2?X]\L7:;W+"G
M],5VZG^96(['[8+M)Q.V['JS7XG>9[;K';O;JQ3N<]OU$X2DWJ7"W9_5/_[-
M[MK==A5->VZ[[C3M9KU5;?LSV_:3EE/K[H-DWR-/:@=9K9UZ4G/H,94[]?2,
MV+:;5?[B&>YZIU/96L]MUT\Z-6<?=.[N%__X]]JIVRVGBI@\NVUW;,?I5=O^
MS+8=)/M.$U-[Z$T]M[S41XFYAOU13B6VE]%?H_*LGCY;;#?KSHY%<65S/:7R
MM9UZY4L_MUT_:>RZ+&1_EO\Y[+;=K:3Z<]KQANVT.I54?V:[?M)HM'=;XKV'
M/M5SRU!]R;I LE]5^5$[\:,ZE<9]3CO>L%N-*G3]W';]Q.E4^:GGL]O X(U=
M'Z.J=OPI#TW9C68EU9_;KI\X_6:MLP\\_NNS;+=>TO=!@Z-2WWOJ'),#LCGB
M]> VSY>JS?,!3G=5#Z8+LX-/UAQ5]SD6V.Q'-7?%OCYC+QZZOG4GW(CI0?4H
M'UEXR/T5ME)ZZ8!E9L&0?2\,[%QW\.P5\*R73K_64==E[W2GJE>0Y;MQ0N^R
M92-V]:Y>K?UJV8-;M;Y^\(C;L>*SQUX$#UPR'6HLGS65'UFNGB#V1<K> A\&
MH6SN1C@]P"6R)U4\$T./>KIQF\+8;%!&S=F]2%"_ZJ$;P7LB>9VM^JVO7O7\
MHBY<-9K-0/C4 3>9>-RLC'MJ82-":HMV(]R? 8YF(*AKK3%Y& _.#]@":">Z
M,QIR\V[HSKG8\ DN3+ 1<Z*F?8@]M%;QBX;3H4[1NE.YW+@_ @_YZ!([8<5Y
MSNB^HC4+RN\/TP1;IZOV;PN?0V3_*%0R= -CZ^<;@K%8P#(!]4)XI/I3C@C7
M$ANPR?VW3HA#)/50$V08[Y4(KR)W-H'/IWCCS<0;(A'*\@-N"J^>A/,^T&YL
MJRCIQSI;V+1NW-B:A;&'756![\RVV,AQW OZ+)FXP5ER-\,HKQ*#"-I%D5D_
MO'H-BWKC1K#I(;:P'G,K:KP+9*53JVM926T0Q2W*!Y!]";<J#$:*,%?)SZ:-
M^XG]<M-H]3@V?W[+FKC8)C-)J>LFD"!-A)=<MO3&Q[JS613>4H-%6+27[6R&
M->M\[JWK<-):$XK$%'NKT@CD$LL]H:'AD^=&IA5@U9G[23MS=ZO.W%5G;G[O
M<73F/A^-O(0:1?MW]OUL^1N!PE1@$^DY;9,I]V$4XJ/"J3>T9A%8CFF$:P7V
M[T]6\6D@[<+$8TO9-"*QY[?3>*/5OC)/MV29@C%#"JA@F2J3!%Z1>$%*'5^I
M,W@,ZTD^0QR.$WK926:LEQCW"VSW^-0V)X-=:>%Z^'^ENU77TY"MQ<+P9!M;
M:3=;7Z]I,O1(G/4PH:MRQN- 7*'9%5H@4&[F##U6I!/7'Y=Z.0=H3VWHN#/N
MRC>)NW*4OOM7((DK UZ&;,67+<.:V\!3,/Q<^!V!%/+^=>Y%Z&)W:KV-WZ/-
MP]S3#/]\#1EEQ@!Z^3&^;-:Z<^&$U2[_$9*&B3HDE168L 5R 6IQT1E$$\J]
MHGW7$L8F8FJT:\X&_F9N,YJM6F?]>YLD7,W[X=WU5]4N%G9QM39G13X1P7K.
M/^WS I7OAV 06->AGY(Q!!>.O5ML^SW!.$_,YD(,)H K&]OS#9* 7+P C$[7
MC&" N0G:78S'WA U^1T_5>C;B SX,=+#RD9$= "_X61A44;I$!1Z,@%[^FHB
ME7R0CN%:EB?PE^=[:()(DP/OYX<9#<KA0O3-(F  < US)E18E*]R"S*6B4G%
M3X1[#10 LYP)TD-6.@,!)(<( NG6@H^NVBNX<N""G4-3G;ID6=%7,$6X;DC@
MWF0D&$\X1O)F0TU.$D4V4YI!+9MIAK7HG6RJB7N-08,$R<&GGO4"G7<Y#G/M
M<5CPB#@, O#??>^G8%MMSJSE9X[ (50&+EJPRFC.'F&\Q4T,BL5'(D& 2Y9$
MWB!%0Q$,07@#LDQ XX-?T*AFH>IA=.P*0P\EEC..[-H3Q"IL0")QS69AE*0!
M\02S9V8/EU@$&?_2X\'C59N1 #%8P!")^Y.-41H8B)&;\G4S#%X7MU:9O<;%
MV>&C0R3U#8W32UA76$O;^IW=%LYNG(^FX!?C)I/#\%[#7!RE]3H'YV'P/=IR
M[5JS+(.S:=0;GM.]UW.:-6M^B,M,)E:'S2::+?<,T3=ZF$';P)K6*GE^J N4
MLQYNS7IW)U_NQ9BFN]=L6[7FJ\T2;$=(RAC*-[.$):2]?47&F8'(@Y&@\8'7
M@89(?3)NU&A(30E0<N&=$-+$#D# D#[@?=12^BP2/J6!AV&,AE68N"BDK)>-
M%IT0Y]SFQ)O-\-OB14Z=+JI9'REZPB&:^[T9;2I])[A[0'T@#V/E(4R].";]
MR2$DTUJ@L$[V14:L>"N39^ &F)R5:[7ASH!(R,_?,&SU3LAA) 6BR!CO"#D
M=-KW\(YRWNI@L51?IS:\Z5@C,'\BSPW#JP"> @::7 ')]1R#!2I2W_/1 -M@
M&BIH7)L$XWP!3LWZGG\A_O(ZC-01!'0M5!I79/Z%+I)03.=[0[Q[E/E4^ 8P
M-BE)19>ZTS -$@XE!V%P5KQ%N7P>7!K<+27P1]B%I\ELK4I Y5ZP<3:J=]3Y
M)YEWLF0>JGQ3JF34 4M"4 #G4_ NO?]UV9T;@R)(W.#*PV4YCV.1'*LCDU<"
M+QU")Y52,UL0K12 (4*P0%#RDJON9<ODTC+9]U8(![BX&SK.*U!+#I*^C#>8
MLW8RXL*P#94BXK2+L^9Z1\-97C_?FW<^I=E0_GAG\\<W[;F8ODLFT9)9M)Y'
M^F;IE@.9?Z5T\/.UI#D=GK.CUT]"(24U^G1T)$_@_%1EA4OC/$=T:T=>#I'H
M5J:3YQ=]@](1"D)/J4["=(;A4@_M8W G3#=%%3S 4\ >= .!07(O$=.X9F$T
MA9,@%&.?']7C!U.D"W]%%1I(%G$:N5@6"_[.4(@1AMZ'PKOF*,>:"4Y<S)$[
MQ4 :/!N>!(-(N)):_#OU9IB&, ,J6=S2MF &:*+2@H[!2,#LW&;K:G-IY\@;
M4>(#QD_)BR,3IQL9$9_(B'@GQEBH*;_\X=["VX]9R.:-B0'/7NK^A&;/4K'D
M8,;]#(I%KVC4VO<P*G+RH91KBX&WN<J5AI$1H(KTIV=S7N(5#%Z<R'Q8&1_3
M;)&J.T2^7<.IS-A2Y<..E#<_:O;0\IQT ;J4'":\9T[I9;>]T>U-SCJ+\5@,
M*0^)0Z*#&<AM5/I(YP94S0APCE!)HDT,!F2(IEGB\SRMK@^%@S9AZ=IS4F1.
MU,&RPS!PX4<>W!-A;2P]Y8_:9<WZ_?S\&V<^X"GN<(@Q7"J,,0[8X$\CHR0!
MKAZ(0("H!(MAD"9T+LCU8ZPWI5I9;^S!5PF.0;XR85^.MC!Q$ZQ<N#.(!BN1
MI.P/HYS2857@R>,2?$(B3H<3ME3N-[<$I&5"(I;J,5R**H(,QD@,UO7H B#F
M!OCI7UP<,;_FQTAM?^*4Q35N/>P@&(_NP/?B"=D#UZ[/= C[[8<WI A=U(U@
M8L(WJF:#+' !&T+R!5>?HE8UZQRSQ5D*4C\<M\6UQBD\8MDKECR;$@LW0A9Y
M U'%J2P@PQ*46XJ\2A+#HVKI( 9-BS^RF4\5*D 7/BP=)K29%I :5T_++C!D
M9L4P>0/A^<@R5AJD<4H*'"O4#%,$+Y4L!83.M3TT8OE[ "9&'&,)F*GKJ8!G
M?K5JUH<T0A-_;DF0L421M<H68[T9*9;/3PL+ H([78*K!EJ^=BP6B*$Y[F-4
MW%$$".4^7#Q+HUE(%0MJ+3,3R(7AP%/C&6@&O%&_&=WY\B5:AZ".D;4_+F21
MO!V^A#0,Z9L)6=X5E,9 P"F?6PTYQ\^7<N7!-(2]H*AW<'?/;2%5@,?C0,_!
M%-!C%;F:'>FUZT.C--R12'!L ;_/PP,J(T%5?C=@7&=1)6:V,#@;NO%$<R0>
M_,"G&!/@DZSS$_ "DU>4D18R"PS-<_2H!H6R\[,8IZW.NN*X-"4'&6@<GR_!
MDCODOHS6)V+1BI6]?>#Z-%X0ZR*I64P7HY#<_IV1AR[SBQZ35H*0QSBWS5JT
M2#4P(C<RXF// Z0+?*ST_KBLDM06C&^<8G6FO%$GMW!6ZN$@IU).DZ,ZB<B7
M6Z4MJ[.>3WG6LU^=]:S.>A[564^2-U^'23@ 5[GIV#+AMDAWF0*5P@HR*E8B
MFK*P@W&2[! -IGL@_>0BPT<::/JB,[ ;G O&@X5&2)C.DKVLUQH.:GZP--Q(
MS./\**^?0JZMXKW-W+V;!8 QV;1!!'A%(+IE@A6QB<9'@#'LDHO3YN/*"\/&
ME*8Z>I89O+WT;BNHL HJS"S46'3BG(\+O&P:6#/%,\?8%F,9IE>S:V!Z+04+
MVPL0K^7K40%X'1J 5V\; %Z-.M+XUBFD N_:P8F?I=OW),!=C?6 NPI#:SP
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
ME/I32.&7P241[EZD+'$TV_5/\LFD->5E>H:V:I"FK&3M-I#YKEPW6'*X(Z(
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
M'NJW^ZUM'TFFTFG4126Z2_GI(-D;Y*B#VRT-&G<:@J)><B#9Q]])_V,/-#1
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
M8\I8NM %Y"H(  #8/   #0              @ $     97A?-C@R-#,V+FAT
M;5!+ 0(4 Q0    ( /%CREB-O&NZ( @  )T]   -              "  54(
M  !E>%\V.#(T,S<N:'1M4$L! A0#%     @ \6/*6++<34'C!   /!T   T
M             ( !H!   &5X7S8X,C0S."YH=&U02P$"% ,4    " #Q8\I8
MKN&0 \4$  "%'0  #0              @ &N%0  97A?-C@R-#,Y+FAT;5!+
M 0(4 Q0    ( /%CRE@'17V^V0P  *:'   0              "  9X:  !O
M8V,M,C R-# T,S N>'-D4$L! A0#%     @ \6/*6&G_L+=."@  R(T  !0
M             ( !I2<  &]C8RTR,#(T,#0S,%]C86PN>&UL4$L! A0#%
M  @ \6/*6/B S(E_*P  IJ@# !0              ( !)3(  &]C8RTR,#(T
M,#0S,%]D968N>&UL4$L! A0#%     @ \6/*6-?-*!L%00  >HP# !0
M         ( !UET  &]C8RTR,#(T,#0S,%]L86(N>&UL4$L! A0#%     @
M\6/*6(SI$K2K+@  R@P$ !0              ( !#9\  &]C8RTR,#(T,#0S
M,%]P<F4N>&UL4$L! A0#%     @ \6/*6(Q 1)W)U0  F^X* !,
M     ( !ZLT  &]C8S(P,C0P-#,P7S$P<2YH=&U02P4&      H "@!S @
&Y*,!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>61
<FILENAME>occ20240430_10q_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:country="http://xbrl.sec.gov/country/2024"
  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:occ="http://http/20240430"
  xmlns:srt="http://fasb.org/srt/2024"
  xmlns:thunderdome="http://www.RDGFilings.com"
  xmlns:us-gaap="http://fasb.org/us-gaap/2024"
  xmlns:utr="http://www.xbrl.org/2009/utr"
  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="occ-20240430.xsd" xlink:type="simple"/>
    <context id="d_2024-02-01_2024-04-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
        </entity>
        <period>
            <startDate>2024-02-01</startDate>
            <endDate>2024-04-30</endDate>
        </period>
    </context>
    <context id="d_2023-11-01_2024-04-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
        </entity>
        <period>
            <startDate>2023-11-01</startDate>
            <endDate>2024-04-30</endDate>
        </period>
    </context>
    <context id="d_2022-11-01_2023-04-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="d_2023-02-01_2023-04-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="d_2022-11-01_2023-04-30_StatementGeographicalAxis-NonUsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="d_2023-11-01_2024-04-30_StatementGeographicalAxis-NonUsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-11-01</startDate>
            <endDate>2024-04-30</endDate>
        </period>
    </context>
    <context id="d_2023-02-01_2023-04-30_StatementGeographicalAxis-NonUsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="d_2024-02-01_2024-04-30_StatementGeographicalAxis-NonUsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-02-01</startDate>
            <endDate>2024-04-30</endDate>
        </period>
    </context>
    <context id="d_2022-11-01_2023-04-30_StatementGeographicalAxis-US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="d_2023-11-01_2024-04-30_StatementGeographicalAxis-US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-11-01</startDate>
            <endDate>2024-04-30</endDate>
        </period>
    </context>
    <context id="d_2023-02-01_2023-04-30_StatementGeographicalAxis-US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="d_2024-02-01_2024-04-30_StatementGeographicalAxis-US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-02-01</startDate>
            <endDate>2024-04-30</endDate>
        </period>
    </context>
    <context id="i_2023-10-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="i_2024-04-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
        </entity>
        <period>
            <instant>2024-04-30</instant>
        </period>
    </context>
    <context id="d_2022-11-01_2023-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-OneCustomerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">occ:OneCustomerMember</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-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="d_2023-02-01_2023-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-OneCustomerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">occ:OneCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="d_2023-02-01_2023-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="d_2022-11-01_2023-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <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-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="d_2024-02-01_2024-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <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>2024-02-01</startDate>
            <endDate>2024-04-30</endDate>
        </period>
    </context>
    <context id="d_2023-11-01_2024-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <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-11-01</startDate>
            <endDate>2024-04-30</endDate>
        </period>
    </context>
    <context id="d_2023-11-01_2024-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-OneCustomerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">occ:OneCustomerMember</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-11-01</startDate>
            <endDate>2024-04-30</endDate>
        </period>
    </context>
    <context id="d_2024-02-01_2024-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-OneCustomerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">occ:OneCustomerMember</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>2024-02-01</startDate>
            <endDate>2024-04-30</endDate>
        </period>
    </context>
    <context id="d_2022-11-01_2023-01-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-01-31</endDate>
        </period>
    </context>
    <context id="i_2024-04-30_LeaseContractualTermAxis-OperatingLeaseForOfficeEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">occ:OperatingLeaseForOfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-04-30</instant>
        </period>
    </context>
    <context id="i_2024-04-30_LeaseContractualTermAxis-OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">occ:OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-04-30</instant>
        </period>
    </context>
    <context id="i_2024-04-30_LeaseContractualTermAxis-OperatingLeaseForOfficeManufacturingAndWarehouseSpaceInPlanoTexasMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">occ:OperatingLeaseForOfficeManufacturingAndWarehouseSpaceInPlanoTexasMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-04-30</instant>
        </period>
    </context>
    <context id="i_2023-10-31_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">occ:NorthMillCapitalLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="i_2024-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">occ:NorthMillCapitalLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-04-30</instant>
        </period>
    </context>
    <context id="d_2020-07-24_2020-07-24_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">occ:NorthMillCapitalLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-24</startDate>
            <endDate>2020-07-24</endDate>
        </period>
    </context>
    <context id="i_2020-07-24_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember_RangeAxis-MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">occ:NorthMillCapitalLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-07-24</instant>
        </period>
    </context>
    <context id="i_2020-07-24_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">occ:NorthMillCapitalLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-07-24</instant>
        </period>
    </context>
    <context id="d_2024-02-01_2024-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">occ:NorthMillCapitalLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-02-01</startDate>
            <endDate>2024-04-30</endDate>
        </period>
    </context>
    <context id="d_2022-11-01_2023-10-31_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">occ:NorthMillCapitalLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="d_2023-11-01_2024-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">occ:NorthMillCapitalLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-11-01</startDate>
            <endDate>2024-04-30</endDate>
        </period>
    </context>
    <context id="i_2023-10-31_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">occ:VirginiaRealEstateLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="i_2024-04-30_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">occ:VirginiaRealEstateLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-04-30</instant>
        </period>
    </context>
    <context id="d_2024-02-01_2024-04-30_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">occ:VirginiaRealEstateLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-02-01</startDate>
            <endDate>2024-04-30</endDate>
        </period>
    </context>
    <context id="d_2022-11-01_2023-10-31_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">occ:VirginiaRealEstateLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="i_2024-04-30_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember_RangeAxis-MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">occ:VirginiaRealEstateLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-04-30</instant>
        </period>
    </context>
    <context id="d_2023-11-01_2024-04-30_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">occ:VirginiaRealEstateLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-11-01</startDate>
            <endDate>2024-04-30</endDate>
        </period>
    </context>
    <context id="i_2023-04-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
        </entity>
        <period>
            <instant>2023-04-30</instant>
        </period>
    </context>
    <context id="i_2022-10-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i_2023-10-31_BalanceSheetLocationAxis-AccountsPayableAndAccruedLiabilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccountsPayableAndAccruedLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="i_2024-04-30_BalanceSheetLocationAxis-AccountsPayableAndAccruedLiabilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccountsPayableAndAccruedLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-04-30</instant>
        </period>
    </context>
    <context id="d_2024-05-17_2024-05-17_AwardTypeAxis-RestrictedStockMember_PlanNameAxis-Plan2017Member_SubsequentEventTypeAxis-SubsequentEventMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">occ:Plan2017Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-05-17</startDate>
            <endDate>2024-05-17</endDate>
        </period>
    </context>
    <context id="i_2024-04-30_AwardTypeAxis-RestrictedStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-04-30</instant>
        </period>
    </context>
    <context id="d_2023-11-01_2024-04-30_AwardTypeAxis-RestrictedStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-11-01</startDate>
            <endDate>2024-04-30</endDate>
        </period>
    </context>
    <context id="d_2022-11-01_2023-04-30_PlanNameAxis-Plan2017Member_TitleOfIndividualAxis-EmployeesConsultantAndNonemployeeDirectorsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">occ:EmployeesConsultantAndNonemployeeDirectorsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">occ:Plan2017Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="d_2023-02-01_2023-04-30_PlanNameAxis-Plan2017Member_TitleOfIndividualAxis-EmployeesConsultantAndNonemployeeDirectorsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">occ:EmployeesConsultantAndNonemployeeDirectorsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">occ:Plan2017Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="d_2023-11-01_2024-04-30_PlanNameAxis-Plan2017Member_TitleOfIndividualAxis-EmployeesConsultantAndNonemployeeDirectorsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">occ:EmployeesConsultantAndNonemployeeDirectorsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">occ:Plan2017Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-11-01</startDate>
            <endDate>2024-04-30</endDate>
        </period>
    </context>
    <context id="d_2024-02-01_2024-04-30_PlanNameAxis-Plan2017Member_TitleOfIndividualAxis-EmployeesConsultantAndNonemployeeDirectorsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">occ:EmployeesConsultantAndNonemployeeDirectorsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">occ:Plan2017Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-02-01</startDate>
            <endDate>2024-04-30</endDate>
        </period>
    </context>
    <context id="i_2024-04-30_PlanNameAxis-Plan2017Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">occ:Plan2017Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-04-30</instant>
        </period>
    </context>
    <context id="d_2022-11-01_2023-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">occ:NorthMillCapitalLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i_2023-04-30_StatementEquityComponentsAxis-RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-30</instant>
        </period>
    </context>
    <context id="i_2023-04-30_StatementEquityComponentsAxis-CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-30</instant>
        </period>
    </context>
    <context id="d_2023-02-01_2023-04-30_StatementEquityComponentsAxis-RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="d_2023-02-01_2023-04-30_StatementEquityComponentsAxis-CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i_2023-01-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
        </entity>
        <period>
            <instant>2023-01-31</instant>
        </period>
    </context>
    <context id="i_2023-01-31_StatementEquityComponentsAxis-RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-01-31</instant>
        </period>
    </context>
    <context id="i_2023-01-31_StatementEquityComponentsAxis-CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-01-31</instant>
        </period>
    </context>
    <context id="d_2022-11-01_2023-01-31_StatementEquityComponentsAxis-RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-01-31</endDate>
        </period>
    </context>
    <context id="d_2022-11-01_2023-01-31_StatementEquityComponentsAxis-CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-01-31</endDate>
        </period>
    </context>
    <context id="i_2022-10-31_StatementEquityComponentsAxis-RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i_2022-10-31_StatementEquityComponentsAxis-CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i_2024-04-30_StatementEquityComponentsAxis-RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-04-30</instant>
        </period>
    </context>
    <context id="i_2024-04-30_StatementEquityComponentsAxis-CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-04-30</instant>
        </period>
    </context>
    <context id="d_2024-02-01_2024-04-30_StatementEquityComponentsAxis-RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-02-01</startDate>
            <endDate>2024-04-30</endDate>
        </period>
    </context>
    <context id="d_2024-02-01_2024-04-30_StatementEquityComponentsAxis-CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-02-01</startDate>
            <endDate>2024-04-30</endDate>
        </period>
    </context>
    <context id="i_2024-01-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
        </entity>
        <period>
            <instant>2024-01-31</instant>
        </period>
    </context>
    <context id="i_2024-01-31_StatementEquityComponentsAxis-RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-01-31</instant>
        </period>
    </context>
    <context id="i_2024-01-31_StatementEquityComponentsAxis-CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-01-31</instant>
        </period>
    </context>
    <context id="d_2023-11-01_2024-01-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
        </entity>
        <period>
            <startDate>2023-11-01</startDate>
            <endDate>2024-01-31</endDate>
        </period>
    </context>
    <context id="d_2023-11-01_2024-01-31_StatementEquityComponentsAxis-RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-11-01</startDate>
            <endDate>2024-01-31</endDate>
        </period>
    </context>
    <context id="d_2023-11-01_2024-01-31_StatementEquityComponentsAxis-CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-11-01</startDate>
            <endDate>2024-01-31</endDate>
        </period>
    </context>
    <context id="i_2023-10-31_StatementEquityComponentsAxis-RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="i_2023-10-31_StatementEquityComponentsAxis-CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="i_2024-06-04">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
        </entity>
        <period>
            <instant>2024-06-04</instant>
        </period>
    </context>
    <unit id="NonApplicable">
        <measure>thunderdome:item</measure>
    </unit>
    <unit id="USD">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="Pure">
        <measure>pure</measure>
    </unit>
    <unit id="Share">
        <measure>shares</measure>
    </unit>
    <unit id="USDPerShare">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="Month">
        <measure>utr:M</measure>
    </unit>
    <unit id="Year">
        <measure>utr:Y</measure>
    </unit>
    <unit id="SquareFoot">
        <measure>utr:sqft</measure>
    </unit>
    <dei:DocumentFiscalPeriodFocus contextRef="d_2024-02-01_2024-04-30" id="ixv-4518">Q2</dei:DocumentFiscalPeriodFocus>
    <dei:DocumentFiscalYearFocus contextRef="d_2024-02-01_2024-04-30" id="ixv-4519">2024</dei:DocumentFiscalYearFocus>
    <dei:CurrentFiscalYearEndDate contextRef="d_2024-02-01_2024-04-30" id="ixv-4520">--10-31</dei:CurrentFiscalYearEndDate>
    <dei:AmendmentFlag contextRef="d_2024-02-01_2024-04-30" id="ixv-4521">false</dei:AmendmentFlag>
    <dei:EntityCentralIndexKey contextRef="d_2024-02-01_2024-04-30" id="ixv-4522">0001000230</dei:EntityCentralIndexKey>
    <ecd:NonRule10b51ArrTrmntdFlag contextRef="d_2023-11-01_2024-04-30" id="c573">false</ecd:NonRule10b51ArrTrmntdFlag>
    <ecd:NonRule10b51ArrAdoptedFlag contextRef="d_2023-11-01_2024-04-30" id="c572">false</ecd:NonRule10b51ArrAdoptedFlag>
    <ecd:Rule10b51ArrTrmntdFlag contextRef="d_2023-11-01_2024-04-30" id="c571">false</ecd:Rule10b51ArrTrmntdFlag>
    <ecd:Rule10b51ArrAdoptedFlag contextRef="d_2023-11-01_2024-04-30" id="c570">false</ecd:Rule10b51ArrAdoptedFlag>
    <us-gaap:NumberOfReportableSegments
      contextRef="d_2023-11-01_2024-04-30"
      decimals="INF"
      id="c531"
      unitRef="Pure">1</us-gaap:NumberOfReportableSegments>
    <occ:ConcentrationRiskNumberOfCustomers
      contextRef="d_2023-02-01_2023-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember"
      decimals="INF"
      id="c528"
      unitRef="Pure">1</occ:ConcentrationRiskNumberOfCustomers>
    <occ:ConcentrationRiskNumberOfCustomers
      contextRef="d_2022-11-01_2023-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember"
      decimals="INF"
      id="c527"
      unitRef="Pure">1</occ:ConcentrationRiskNumberOfCustomers>
    <occ:ConcentrationRiskNumberOfCustomers
      contextRef="d_2024-02-01_2024-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember"
      decimals="INF"
      id="c526"
      unitRef="Pure">1</occ:ConcentrationRiskNumberOfCustomers>
    <occ:ConcentrationRiskNumberOfCustomers
      contextRef="d_2023-11-01_2024-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember"
      decimals="INF"
      id="c525"
      unitRef="Pure">1</occ:ConcentrationRiskNumberOfCustomers>
    <us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList contextRef="i_2023-10-31" id="c444">http://fasb.org/us-gaap/2024#OtherLiabilitiesNoncurrent</us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList contextRef="i_2023-10-31" id="c443">http://fasb.org/us-gaap/2024#AccountsPayableAndAccruedLiabilitiesCurrent</us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList contextRef="i_2024-04-30" id="c440">http://fasb.org/us-gaap/2024#OtherLiabilitiesNoncurrent</us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList contextRef="i_2024-04-30" id="c439">http://fasb.org/us-gaap/2024#AccountsPayableAndAccruedLiabilitiesCurrent</us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList contextRef="i_2024-04-30" id="c436">http://fasb.org/us-gaap/2024#OtherAssetsNoncurrent</us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList>
    <us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList contextRef="i_2023-10-31" id="c435">http://fasb.org/us-gaap/2024#OtherAssetsNoncurrent</us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="d_2023-02-01_2023-04-30"
      decimals="-3"
      id="c432"
      unitRef="USD">0</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="d_2024-02-01_2024-04-30"
      decimals="-3"
      id="c431"
      unitRef="USD">0</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList contextRef="i_2023-10-31" id="c422">http://fasb.org/us-gaap/2024#OtherLiabilitiesNoncurrent</us-gaap:OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList contextRef="i_2023-10-31" id="c421">http://fasb.org/us-gaap/2024#AccountsPayableAndAccruedLiabilitiesCurrent</us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList contextRef="i_2024-04-30" id="c418">http://fasb.org/us-gaap/2024#OtherLiabilitiesNoncurrent</us-gaap:OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList contextRef="i_2024-04-30" id="c417">http://fasb.org/us-gaap/2024#AccountsPayableAndAccruedLiabilitiesCurrent</us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList contextRef="i_2024-04-30" id="c414">http://fasb.org/us-gaap/2024#OtherAssetsNoncurrent</us-gaap:OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList>
    <us-gaap:OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList contextRef="i_2023-10-31" id="c413">http://fasb.org/us-gaap/2024#OtherAssetsNoncurrent</us-gaap:OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="i_2024-04-30_LeaseContractualTermAxis-OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember"
      id="c409">P3Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <occ:DebtInstrumentTermExtensions
      contextRef="d_2020-07-24_2020-07-24_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"
      id="c400">P1Y</occ:DebtInstrumentTermExtensions>
    <us-gaap:DebtInstrumentVariableInterestRateTypeExtensibleEnumeration
      contextRef="d_2024-02-01_2024-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"
      id="c395">http://fasb.org/us-gaap/2024#PrimeRateMember</us-gaap:DebtInstrumentVariableInterestRateTypeExtensibleEnumeration>
    <us-gaap:DebtInstrumentVariableInterestRateTypeExtensibleEnumeration
      contextRef="d_2022-11-01_2023-10-31_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"
      id="c394">http://fasb.org/us-gaap/2024#PrimeRateMember</us-gaap:DebtInstrumentVariableInterestRateTypeExtensibleEnumeration>
    <us-gaap:DebtInstrumentVariableInterestRateTypeExtensibleEnumeration
      contextRef="d_2020-07-24_2020-07-24_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"
      id="c393">http://fasb.org/us-gaap/2024#PrimeRateMember</us-gaap:DebtInstrumentVariableInterestRateTypeExtensibleEnumeration>
    <us-gaap:DebtInstrumentVariableInterestRateTypeExtensibleEnumeration
      contextRef="d_2024-02-01_2024-04-30_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember"
      id="c381">http://fasb.org/us-gaap/2024#PrimeRateMember</us-gaap:DebtInstrumentVariableInterestRateTypeExtensibleEnumeration>
    <us-gaap:DebtInstrumentVariableInterestRateTypeExtensibleEnumeration
      contextRef="d_2022-11-01_2023-10-31_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember"
      id="c380">http://fasb.org/us-gaap/2024#PrimeRateMember</us-gaap:DebtInstrumentVariableInterestRateTypeExtensibleEnumeration>
    <us-gaap:CommonStockNoParValue
      contextRef="i_2023-10-31"
      decimals="-3"
      id="c88"
      unitRef="USDPerShare">0</us-gaap:CommonStockNoParValue>
    <us-gaap:CommonStockNoParValue
      contextRef="i_2024-04-30"
      decimals="-3"
      id="c87"
      unitRef="USDPerShare">0</us-gaap:CommonStockNoParValue>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="i_2023-10-31"
      decimals="-3"
      id="c84"
      unitRef="Share">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="i_2024-04-30"
      decimals="-3"
      id="c83"
      unitRef="Share">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="i_2023-10-31"
      decimals="-3"
      id="c82"
      unitRef="Share">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesIssued
      contextRef="i_2024-04-30"
      decimals="-3"
      id="c81"
      unitRef="Share">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockNoParValue
      contextRef="i_2023-10-31"
      decimals="-3"
      id="c78"
      unitRef="USDPerShare">0</us-gaap:PreferredStockNoParValue>
    <us-gaap:PreferredStockNoParValue
      contextRef="i_2024-04-30"
      decimals="-3"
      id="c77"
      unitRef="USDPerShare">0</us-gaap:PreferredStockNoParValue>
    <dei:DocumentType contextRef="d_2024-02-01_2024-04-30" id="c2">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport contextRef="d_2024-02-01_2024-04-30" id="c3">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate contextRef="d_2024-02-01_2024-04-30" id="c4">2024-04-30</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport contextRef="d_2024-02-01_2024-04-30" id="c5">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber contextRef="d_2024-02-01_2024-04-30" id="c6">0-27022</dei:EntityFileNumber>
    <dei:EntityRegistrantName contextRef="d_2024-02-01_2024-04-30" id="c7">OPTICAL CABLE CORPORATION</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="d_2024-02-01_2024-04-30" id="c8">VA</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber contextRef="d_2024-02-01_2024-04-30" id="c9">54-1237042</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="d_2024-02-01_2024-04-30" id="c10">5290 Concourse Drive</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="d_2024-02-01_2024-04-30" id="c11">Roanoke</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="d_2024-02-01_2024-04-30" id="c12">VA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="d_2024-02-01_2024-04-30" id="c13">24019</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="d_2024-02-01_2024-04-30" id="c14">540</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="d_2024-02-01_2024-04-30" id="c15">265&#x2011;0690</dei:LocalPhoneNumber>
    <dei:Security12bTitle contextRef="d_2024-02-01_2024-04-30" id="c16">Common Stock, no par value</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="d_2024-02-01_2024-04-30" id="c17">OCC</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="d_2024-02-01_2024-04-30" id="c18">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus contextRef="d_2024-02-01_2024-04-30" id="c19">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent contextRef="d_2024-02-01_2024-04-30" id="c20">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory contextRef="d_2024-02-01_2024-04-30" id="c21">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="d_2024-02-01_2024-04-30" id="c22">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany contextRef="d_2024-02-01_2024-04-30" id="c23">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany contextRef="d_2024-02-01_2024-04-30" id="c24">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="i_2024-06-04"
      decimals="INF"
      id="c25"
      unitRef="Share">7892475</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i_2024-04-30"
      decimals="0"
      id="c32"
      unitRef="USD">1089912</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i_2023-10-31"
      decimals="0"
      id="c33"
      unitRef="USD">1468709</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i_2024-04-30"
      decimals="0"
      id="c34"
      unitRef="USD">54261</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i_2023-10-31"
      decimals="0"
      id="c35"
      unitRef="USD">71189</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i_2024-04-30"
      decimals="0"
      id="c36"
      unitRef="USD">8297895</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i_2023-10-31"
      decimals="0"
      id="c37"
      unitRef="USD">8727810</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:IncomeTaxesReceivable
      contextRef="i_2024-04-30"
      decimals="0"
      id="c38"
      unitRef="USD">81844</us-gaap:IncomeTaxesReceivable>
    <us-gaap:IncomeTaxesReceivable
      contextRef="i_2023-10-31"
      decimals="0"
      id="c39"
      unitRef="USD">81844</us-gaap:IncomeTaxesReceivable>
    <us-gaap:OtherReceivables
      contextRef="i_2024-04-30"
      decimals="0"
      id="c40"
      unitRef="USD">13228</us-gaap:OtherReceivables>
    <us-gaap:OtherReceivables
      contextRef="i_2023-10-31"
      decimals="0"
      id="c41"
      unitRef="USD">397758</us-gaap:OtherReceivables>
    <us-gaap:InventoryNet
      contextRef="i_2024-04-30"
      decimals="0"
      id="c42"
      unitRef="USD">21486376</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="i_2023-10-31"
      decimals="0"
      id="c43"
      unitRef="USD">23766326</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i_2024-04-30"
      decimals="0"
      id="c44"
      unitRef="USD">483909</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i_2023-10-31"
      decimals="0"
      id="c45"
      unitRef="USD">595469</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i_2024-04-30"
      decimals="0"
      id="c46"
      unitRef="USD">31453164</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i_2023-10-31"
      decimals="0"
      id="c47"
      unitRef="USD">35037916</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i_2024-04-30"
      decimals="0"
      id="c48"
      unitRef="USD">7079322</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i_2023-10-31"
      decimals="0"
      id="c49"
      unitRef="USD">7139616</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i_2024-04-30"
      decimals="0"
      id="c50"
      unitRef="USD">539168</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i_2023-10-31"
      decimals="0"
      id="c51"
      unitRef="USD">566197</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i_2024-04-30"
      decimals="0"
      id="c52"
      unitRef="USD">813250</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i_2023-10-31"
      decimals="0"
      id="c53"
      unitRef="USD">1135172</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="i_2024-04-30"
      decimals="0"
      id="c54"
      unitRef="USD">39884904</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i_2023-10-31"
      decimals="0"
      id="c55"
      unitRef="USD">43878901</us-gaap:Assets>
    <us-gaap:LoansPayableCurrent
      contextRef="i_2024-04-30"
      decimals="0"
      id="c58"
      unitRef="USD">55445</us-gaap:LoansPayableCurrent>
    <us-gaap:LoansPayableCurrent
      contextRef="i_2023-10-31"
      decimals="0"
      id="c59"
      unitRef="USD">52624</us-gaap:LoansPayableCurrent>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent
      contextRef="i_2024-04-30"
      decimals="0"
      id="c60"
      unitRef="USD">5396473</us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent
      contextRef="i_2023-10-31"
      decimals="0"
      id="c61"
      unitRef="USD">5843044</us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="i_2024-04-30"
      decimals="0"
      id="c62"
      unitRef="USD">1647773</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="i_2023-10-31"
      decimals="0"
      id="c63"
      unitRef="USD">1849780</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:TaxesPayableCurrent
      contextRef="i_2024-04-30"
      decimals="0"
      id="c64"
      unitRef="USD">34777</us-gaap:TaxesPayableCurrent>
    <us-gaap:TaxesPayableCurrent
      contextRef="i_2023-10-31"
      decimals="0"
      id="c65"
      unitRef="USD">22754</us-gaap:TaxesPayableCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i_2024-04-30"
      decimals="0"
      id="c66"
      unitRef="USD">7134468</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i_2023-10-31"
      decimals="0"
      id="c67"
      unitRef="USD">7768202</us-gaap:LiabilitiesCurrent>
    <us-gaap:LongTermLineOfCredit
      contextRef="i_2024-04-30"
      decimals="0"
      id="c68"
      unitRef="USD">8046853</us-gaap:LongTermLineOfCredit>
    <us-gaap:LongTermLineOfCredit
      contextRef="i_2023-10-31"
      decimals="0"
      id="c69"
      unitRef="USD">8324397</us-gaap:LongTermLineOfCredit>
    <us-gaap:LongTermLoansPayable
      contextRef="i_2024-04-30"
      decimals="0"
      id="c70"
      unitRef="USD">2599030</us-gaap:LongTermLoansPayable>
    <us-gaap:LongTermLoansPayable
      contextRef="i_2023-10-31"
      decimals="0"
      id="c71"
      unitRef="USD">2622620</us-gaap:LongTermLoansPayable>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i_2024-04-30"
      decimals="0"
      id="c72"
      unitRef="USD">266198</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i_2023-10-31"
      decimals="0"
      id="c73"
      unitRef="USD">441838</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="i_2024-04-30"
      decimals="0"
      id="c74"
      unitRef="USD">18046549</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="i_2023-10-31"
      decimals="0"
      id="c75"
      unitRef="USD">19157057</us-gaap:Liabilities>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i_2024-04-30"
      decimals="INF"
      id="c79"
      unitRef="Share">1000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i_2023-10-31"
      decimals="INF"
      id="c80"
      unitRef="Share">1000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockValue
      contextRef="i_2024-04-30"
      decimals="-3"
      id="c85"
      unitRef="USD">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="i_2023-10-31"
      decimals="-3"
      id="c86"
      unitRef="USD">0</us-gaap:PreferredStockValue>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i_2024-04-30"
      decimals="INF"
      id="c89"
      unitRef="Share">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i_2023-10-31"
      decimals="INF"
      id="c90"
      unitRef="Share">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="i_2024-04-30"
      decimals="INF"
      id="c91"
      unitRef="Share">7852515</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i_2024-04-30"
      decimals="INF"
      id="c92"
      unitRef="Share">7852515</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="i_2023-10-31"
      decimals="INF"
      id="c93"
      unitRef="Share">7893681</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i_2023-10-31"
      decimals="INF"
      id="c94"
      unitRef="Share">7893681</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="i_2024-04-30"
      decimals="0"
      id="c95"
      unitRef="USD">15277264</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="i_2023-10-31"
      decimals="0"
      id="c96"
      unitRef="USD">15134133</us-gaap:CommonStockValue>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i_2024-04-30"
      decimals="0"
      id="c97"
      unitRef="USD">6561091</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i_2023-10-31"
      decimals="0"
      id="c98"
      unitRef="USD">9587711</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity
      contextRef="i_2024-04-30"
      decimals="0"
      id="c99"
      unitRef="USD">21838355</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2023-10-31"
      decimals="0"
      id="c100"
      unitRef="USD">24721844</us-gaap:StockholdersEquity>
    <us-gaap:CommitmentsAndContingencies
      contextRef="i_2024-04-30"
      id="c101"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="i_2024-04-30"
      id="c102"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i_2024-04-30"
      decimals="0"
      id="c103"
      unitRef="USD">39884904</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i_2023-10-31"
      decimals="0"
      id="c104"
      unitRef="USD">43878901</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2024-02-01_2024-04-30"
      decimals="0"
      id="c107"
      unitRef="USD">16112098</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2023-02-01_2023-04-30"
      decimals="0"
      id="c108"
      unitRef="USD">19619536</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c109"
      unitRef="USD">30966863</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c110"
      unitRef="USD">37903211</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="d_2024-02-01_2024-04-30"
      decimals="0"
      id="c111"
      unitRef="USD">12073462</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="d_2023-02-01_2023-04-30"
      decimals="0"
      id="c112"
      unitRef="USD">12836830</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c113"
      unitRef="USD">23214705</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c114"
      unitRef="USD">24599296</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="d_2024-02-01_2024-04-30"
      decimals="0"
      id="c115"
      unitRef="USD">4038636</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="d_2023-02-01_2023-04-30"
      decimals="0"
      id="c116"
      unitRef="USD">6782706</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c117"
      unitRef="USD">7752158</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c118"
      unitRef="USD">13303915</us-gaap:GrossProfit>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="d_2024-02-01_2024-04-30"
      decimals="0"
      id="c119"
      unitRef="USD">5319580</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="d_2023-02-01_2023-04-30"
      decimals="0"
      id="c120"
      unitRef="USD">5662339</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c121"
      unitRef="USD">10412685</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c122"
      unitRef="USD">11117805</us-gaap:SellingGeneralAndAdministrativeExpense>
    <occ:RoyaltyRevenueExpense
      contextRef="d_2024-02-01_2024-04-30"
      decimals="0"
      id="c123"
      unitRef="USD">-6677</occ:RoyaltyRevenueExpense>
    <occ:RoyaltyRevenueExpense
      contextRef="d_2023-02-01_2023-04-30"
      decimals="0"
      id="c124"
      unitRef="USD">-6572</occ:RoyaltyRevenueExpense>
    <occ:RoyaltyRevenueExpense
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c125"
      unitRef="USD">-13263</occ:RoyaltyRevenueExpense>
    <occ:RoyaltyRevenueExpense
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c126"
      unitRef="USD">-13158</occ:RoyaltyRevenueExpense>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="d_2024-02-01_2024-04-30"
      decimals="0"
      id="c127"
      unitRef="USD">13516</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="d_2023-02-01_2023-04-30"
      decimals="0"
      id="c128"
      unitRef="USD">13689</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c129"
      unitRef="USD">27032</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c130"
      unitRef="USD">26910</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:OperatingIncomeLoss
      contextRef="d_2024-02-01_2024-04-30"
      decimals="0"
      id="c131"
      unitRef="USD">-1301137</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="d_2023-02-01_2023-04-30"
      decimals="0"
      id="c132"
      unitRef="USD">1100106</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c133"
      unitRef="USD">-2700822</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c134"
      unitRef="USD">2146042</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestExpense
      contextRef="d_2024-02-01_2024-04-30"
      decimals="0"
      id="c136"
      unitRef="USD">280618</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="d_2023-02-01_2023-04-30"
      decimals="0"
      id="c137"
      unitRef="USD">286065</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c138"
      unitRef="USD">579228</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c139"
      unitRef="USD">556688</us-gaap:InterestExpense>
    <us-gaap:UnusualOrInfrequentItemInsuranceProceeds
      contextRef="d_2024-02-01_2024-04-30"
      decimals="-3"
      id="c140"
      unitRef="USD">0</us-gaap:UnusualOrInfrequentItemInsuranceProceeds>
    <us-gaap:UnusualOrInfrequentItemInsuranceProceeds
      contextRef="d_2023-02-01_2023-04-30"
      decimals="0"
      id="c141"
      unitRef="USD">1696290</us-gaap:UnusualOrInfrequentItemInsuranceProceeds>
    <us-gaap:UnusualOrInfrequentItemInsuranceProceeds
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c142"
      unitRef="USD">218902</us-gaap:UnusualOrInfrequentItemInsuranceProceeds>
    <us-gaap:UnusualOrInfrequentItemInsuranceProceeds
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c143"
      unitRef="USD">1696290</us-gaap:UnusualOrInfrequentItemInsuranceProceeds>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="d_2024-02-01_2024-04-30"
      decimals="0"
      id="c144"
      unitRef="USD">-12364</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="d_2023-02-01_2023-04-30"
      decimals="0"
      id="c145"
      unitRef="USD">-12311</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c146"
      unitRef="USD">48834</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c147"
      unitRef="USD">54824</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="d_2024-02-01_2024-04-30"
      decimals="0"
      id="c148"
      unitRef="USD">-292982</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="d_2023-02-01_2023-04-30"
      decimals="0"
      id="c149"
      unitRef="USD">1397914</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c150"
      unitRef="USD">-311492</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c151"
      unitRef="USD">1194426</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="d_2024-02-01_2024-04-30"
      decimals="0"
      id="c152"
      unitRef="USD">-1594119</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="d_2023-02-01_2023-04-30"
      decimals="0"
      id="c153"
      unitRef="USD">2498020</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c154"
      unitRef="USD">-3012314</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c155"
      unitRef="USD">3340468</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="d_2024-02-01_2024-04-30"
      decimals="0"
      id="c156"
      unitRef="USD">7227</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="d_2023-02-01_2023-04-30"
      decimals="0"
      id="c157"
      unitRef="USD">74933</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c158"
      unitRef="USD">14306</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c159"
      unitRef="USD">107397</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="d_2024-02-01_2024-04-30"
      decimals="0"
      id="c160"
      unitRef="USD">-1601346</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2023-02-01_2023-04-30"
      decimals="0"
      id="c161"
      unitRef="USD">2423087</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c162"
      unitRef="USD">-3026620</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c163"
      unitRef="USD">3233071</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="d_2024-02-01_2024-04-30"
      decimals="INF"
      id="c164"
      unitRef="USDPerShare">-0.21</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="d_2023-02-01_2023-04-30"
      decimals="INF"
      id="c165"
      unitRef="USDPerShare">0.31</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="d_2023-11-01_2024-04-30"
      decimals="INF"
      id="c166"
      unitRef="USDPerShare">-0.39</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="d_2022-11-01_2023-04-30"
      decimals="INF"
      id="c167"
      unitRef="USDPerShare">0.41</us-gaap:EarningsPerShareBasic>
    <us-gaap:SharesOutstanding
      contextRef="i_2023-10-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c170"
      unitRef="Share">7893681</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2023-10-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="0"
      id="c171"
      unitRef="USD">15134133</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2023-10-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="0"
      id="c172"
      unitRef="USD">9587711</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2023-10-31"
      decimals="0"
      id="c173"
      unitRef="USD">24721844</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="d_2023-11-01_2024-01-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c174"
      unitRef="Share">40324</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="d_2023-11-01_2024-01-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="0"
      id="c175"
      unitRef="USD">51490</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="d_2023-11-01_2024-01-31"
      decimals="0"
      id="c177"
      unitRef="USD">51490</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:NetIncomeLoss
      contextRef="d_2023-11-01_2024-01-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c178"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2023-11-01_2024-01-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="0"
      id="c179"
      unitRef="USD">-1425274</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2023-11-01_2024-01-31"
      decimals="0"
      id="c180"
      unitRef="USD">-1425274</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="i_2024-01-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c181"
      unitRef="Share">7853357</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2024-01-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="0"
      id="c182"
      unitRef="USD">15185623</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2024-01-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="0"
      id="c183"
      unitRef="USD">8162437</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2024-01-31"
      decimals="0"
      id="c184"
      unitRef="USD">23348060</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="d_2024-02-01_2024-04-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c185"
      unitRef="Share">842</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="d_2024-02-01_2024-04-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="0"
      id="c186"
      unitRef="USD">91641</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="d_2024-02-01_2024-04-30"
      decimals="0"
      id="c188"
      unitRef="USD">91641</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:NetIncomeLoss
      contextRef="d_2024-02-01_2024-04-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c189"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2024-02-01_2024-04-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="0"
      id="c190"
      unitRef="USD">-1601346</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2024-02-01_2024-04-30"
      decimals="0"
      id="c191"
      unitRef="USD">-1601346</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="i_2024-04-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c192"
      unitRef="Share">7852515</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2024-04-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="0"
      id="c193"
      unitRef="USD">15277264</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2024-04-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="0"
      id="c194"
      unitRef="USD">6561091</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2024-04-30"
      decimals="0"
      id="c195"
      unitRef="USD">21838355</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i_2022-10-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c198"
      unitRef="Share">7893194</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-10-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="0"
      id="c199"
      unitRef="USD">14638505</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-10-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="0"
      id="c200"
      unitRef="USD">7521213</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-10-31"
      decimals="0"
      id="c201"
      unitRef="USD">22159718</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="d_2022-11-01_2023-01-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c202"
      unitRef="Share">24626</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="d_2022-11-01_2023-01-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="0"
      id="c203"
      unitRef="USD">34322</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="d_2022-11-01_2023-01-31"
      decimals="0"
      id="c205"
      unitRef="USD">34322</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-11-01_2023-01-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c206"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-11-01_2023-01-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="0"
      id="c207"
      unitRef="USD">809984</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-11-01_2023-01-31"
      decimals="0"
      id="c208"
      unitRef="USD">809984</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="i_2023-01-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c209"
      unitRef="Share">7868568</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2023-01-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="0"
      id="c210"
      unitRef="USD">14672827</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2023-01-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="0"
      id="c211"
      unitRef="USD">8331197</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2023-01-31"
      decimals="0"
      id="c212"
      unitRef="USD">23004024</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="d_2023-02-01_2023-04-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c213"
      unitRef="Share">3447</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="d_2023-02-01_2023-04-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="0"
      id="c214"
      unitRef="USD">139507</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="d_2023-02-01_2023-04-30"
      decimals="0"
      id="c216"
      unitRef="USD">139507</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:NetIncomeLoss
      contextRef="d_2023-02-01_2023-04-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c217"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2023-02-01_2023-04-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="0"
      id="c218"
      unitRef="USD">2423087</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2023-02-01_2023-04-30"
      decimals="0"
      id="c219"
      unitRef="USD">2423087</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="i_2023-04-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c220"
      unitRef="Share">7865121</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2023-04-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="0"
      id="c221"
      unitRef="USD">14812334</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2023-04-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="0"
      id="c222"
      unitRef="USD">10754284</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2023-04-30"
      decimals="0"
      id="c223"
      unitRef="USD">25566618</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c227"
      unitRef="USD">-3026620</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c228"
      unitRef="USD">3233071</us-gaap:NetIncomeLoss>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c230"
      unitRef="USD">431414</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c231"
      unitRef="USD">496661</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c232"
      unitRef="USD">-16928</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c233"
      unitRef="USD">14959</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ShareBasedCompensation
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c234"
      unitRef="USD">250792</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c235"
      unitRef="USD">289680</us-gaap:ShareBasedCompensation>
    <us-gaap:UnusualOrInfrequentItemInsuranceProceeds
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c236"
      unitRef="USD">218902</us-gaap:UnusualOrInfrequentItemInsuranceProceeds>
    <us-gaap:UnusualOrInfrequentItemInsuranceProceeds
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c237"
      unitRef="USD">1696290</us-gaap:UnusualOrInfrequentItemInsuranceProceeds>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c238"
      unitRef="USD">-796</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c239"
      unitRef="USD">-10307</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c241"
      unitRef="USD">-446843</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c242"
      unitRef="USD">357932</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInOtherReceivables
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c243"
      unitRef="USD">-384530</us-gaap:IncreaseDecreaseInOtherReceivables>
    <us-gaap:IncreaseDecreaseInOtherReceivables
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c244"
      unitRef="USD">35867</us-gaap:IncreaseDecreaseInOtherReceivables>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c245"
      unitRef="USD">-2279950</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c246"
      unitRef="USD">3661198</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c247"
      unitRef="USD">-111560</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c248"
      unitRef="USD">-80602</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c249"
      unitRef="USD">-201924</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c250"
      unitRef="USD">103560</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c252"
      unitRef="USD">-436535</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c253"
      unitRef="USD">-102154</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c254"
      unitRef="USD">-202007</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c255"
      unitRef="USD">218168</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c256"
      unitRef="USD">12023</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c257"
      unitRef="USD">55329</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c258"
      unitRef="USD">-106235</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c259"
      unitRef="USD">65078</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c260"
      unitRef="USD">112605</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c261"
      unitRef="USD">-1493146</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c263"
      unitRef="USD">235823</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c264"
      unitRef="USD">230252</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:ProceedsFromInsuranceSettlementInvestingActivities
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c265"
      unitRef="USD">218902</us-gaap:ProceedsFromInsuranceSettlementInvestingActivities>
    <us-gaap:ProceedsFromInsuranceSettlementInvestingActivities
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c266"
      unitRef="USD">1696290</us-gaap:ProceedsFromInsuranceSettlementInvestingActivities>
    <us-gaap:PaymentsToAcquireIntangibleAssets
      contextRef="d_2023-11-01_2024-04-30"
      decimals="-3"
      id="c267"
      unitRef="USD">-0</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:PaymentsToAcquireIntangibleAssets
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c268"
      unitRef="USD">1997</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c269"
      unitRef="USD">-16921</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c270"
      unitRef="USD">1464041</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c272"
      unitRef="USD">107661</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c273"
      unitRef="USD">115851</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:ProceedsFromNotesPayable
      contextRef="d_2023-11-01_2024-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"
      decimals="0"
      id="c274"
      unitRef="USD">31812257</us-gaap:ProceedsFromNotesPayable>
    <us-gaap:ProceedsFromNotesPayable
      contextRef="d_2022-11-01_2023-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"
      decimals="0"
      id="c275"
      unitRef="USD">41292679</us-gaap:ProceedsFromNotesPayable>
    <us-gaap:RepaymentsOfNotesPayable
      contextRef="d_2023-11-01_2024-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"
      decimals="0"
      id="c276"
      unitRef="USD">32089800</us-gaap:RepaymentsOfNotesPayable>
    <us-gaap:RepaymentsOfNotesPayable
      contextRef="d_2022-11-01_2023-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"
      decimals="0"
      id="c277"
      unitRef="USD">39285532</us-gaap:RepaymentsOfNotesPayable>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c278"
      unitRef="USD">20770</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c279"
      unitRef="USD">167596</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:PaymentsOfFinancingCosts
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c280"
      unitRef="USD">50000</us-gaap:PaymentsOfFinancingCosts>
    <us-gaap:PaymentsOfFinancingCosts
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c281"
      unitRef="USD">50000</us-gaap:PaymentsOfFinancingCosts>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c282"
      unitRef="USD">18507</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c283"
      unitRef="USD">17652</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c284"
      unitRef="USD">-474481</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c285"
      unitRef="USD">1656048</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c286"
      unitRef="USD">-378797</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c287"
      unitRef="USD">1626943</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="i_2023-10-31"
      decimals="0"
      id="c288"
      unitRef="USD">1468709</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="i_2022-10-31"
      decimals="0"
      id="c289"
      unitRef="USD">215936</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="i_2024-04-30"
      decimals="0"
      id="c290"
      unitRef="USD">1089912</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="i_2023-04-30"
      decimals="0"
      id="c291"
      unitRef="USD">1842879</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock contextRef="d_2024-02-01_2024-04-30" id="c292">
&lt;table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"&gt;

		&lt;tbody&gt;&lt;tr style="vertical-align: top;"&gt;
			&lt;td style="width: 27pt;"&gt;
			&lt;p style="margin: 0pt; text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;b&gt;(1)&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: auto;"&gt;
			&lt;p style="margin: 0pt; text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;b&gt;General&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;

&lt;/tbody&gt;&lt;/table&gt;

&lt;p style="margin: 0pt; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;The accompanying unaudited condensed consolidated financial statements of Optical Cable Corporation and its subsidiaries (collectively, the &#x201c;Company&#x201d; or &#x201c;OCC&lt;sup style="vertical-align:top;line-height:120%;"&gt;&#xae;&lt;/sup&gt;&#x201d;) have been prepared in accordance with U.S. generally accepted accounting principles for interim financial information and the instructions to Form 10&#x2011;Q and Regulation S&#x2011;X. Accordingly, they do not include all of the information and notes required by U.S. generally accepted accounting principles for complete financial statements. In the opinion of management, all material adjustments considered necessary for a fair presentation have been included. Operating results for the six months ended April 30, 2024 are not necessarily indicative of the results for the fiscal year ending October 31, 2024 because the following items, among other things, may impact those results: changing macroeconomic conditions in various markets, supply chain and labor constraints impacting production volumes, any increased costs related to government and private industry mandates in the areas of the world in which we operate, changes in market conditions, seasonality, inflation and interest rates, changes in technology, competitive conditions, timing of certain projects and purchases by key customers, significant variations in sales resulting from high volatility and timing of large sales orders among a limited number of customers in certain markets, ability of management to execute its business plans, continued ability to maintain and/or secure future debt and/or equity financing to adequately finance ongoing operations; as well as other variables, uncertainties, contingencies and risks set forth as risks in the Company&#x2019;s Annual Report on Form 10&#x2011;K for the fiscal year ended October 31, 2023 (including those set forth in the &#x201c;Forward-Looking Information&#x201d; section), or as otherwise set forth in other filings by the Company as variables, contingencies and/or risks possibly affecting future results. The unaudited condensed consolidated financial statements and condensed notes are presented as permitted by Form 10&#x2011;Q and do not contain certain information included in the Company&#x2019;s annual consolidated financial statements and notes. For further information, refer to the consolidated financial statements and notes thereto included in the Company&#x2019;s Annual Report on Form 10&#x2011;K for the fiscal year ended October 31, 2023.&lt;/p&gt;
</us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock contextRef="d_2024-02-01_2024-04-30" id="c294">
&lt;table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"&gt;

		&lt;tbody&gt;&lt;tr style="vertical-align: top;"&gt;
			&lt;td style="width: 27pt;"&gt;
			&lt;p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"&gt;&lt;b&gt;(2)&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: auto;"&gt;
			&lt;p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"&gt;&lt;b&gt;Stock Incentive Plan and Other Share&lt;/b&gt;&#x2011;&lt;b&gt;Based Compensation&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;

&lt;/tbody&gt;&lt;/table&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;As of April 30, 2024, there were approximately 397,000 remaining shares available for grant under the Optical Cable Corporation Stock Incentive Plan (&#x201c;2017 Plan&#x201d;).&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;Share-based compensation expense for employees, a consultant and non-employee Directors recognized in the condensed consolidated statements of operations for the three months and six months ended April 30, 2024 was $91,641 and $250,792, respectively. Share-based compensation expense for employees, a consultant and non-employee Directors recognized in the condensed consolidated statements of operations for the three months and six months ended April 30, 2023 was $154,639 and $289,680, respectively. Share-based compensation expense is entirely related to expense recognized in connection with the vesting of restricted stock awards or other stock awards.&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 27pt;"&gt;&lt;i&gt;Stock Compensation&lt;/i&gt;&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;The Company has granted, and anticipates granting from time to time, restricted stock awards subject to approval by the Compensation Committee of the Board of Directors. Since fiscal year 2004, the Company has exclusively used restricted stock awards for all share-based compensation of employees and consultants, and restricted stock awards or stock awards to non-employee members of the Board of Directors.&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;















&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;Restricted stock award activity during the six months ended April 30, 2024 consisted of restricted shares forfeited totaling 842 shares and restricted shares withheld for taxes in connection with the vesting of restricted shares totaling 40,324 shares. OCC restricted stock grants provide the participant with the option to surrender shares to pay for withholding tax obligations resulting from any vesting restricted shares, or to pay cash to the Company or taxing authorities in the amount of the withholding taxes owed on the value of any vesting restricted shares in order to avoid surrendering shares.&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;As of April 30, 2024, the estimated amount of compensation cost related to unvested equity-based compensation awards in the form of service-based and operational performance-based shares that the Company will recognize over a 1 year weighted-average period is approximately $262,000.&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;On May 17, 2024, subsequent to the Company&#x2019;s fiscal quarter end, the Company granted restricted stock awards totaling 39,960 shares to non-employee Directors under the 2017 Plan. The shares are subject to a one-year vesting period and are part of the non-employee Directors&#x2019; annual compensation for service on the Board of Directors.&lt;/p&gt;
</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="i_2024-04-30_PlanNameAxis-Plan2017Member"
      decimals="INF"
      id="c296"
      unitRef="Share">397000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2024-02-01_2024-04-30_PlanNameAxis-Plan2017Member_TitleOfIndividualAxis-EmployeesConsultantAndNonemployeeDirectorsMember"
      decimals="0"
      id="c297"
      unitRef="USD">91641</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2023-11-01_2024-04-30_PlanNameAxis-Plan2017Member_TitleOfIndividualAxis-EmployeesConsultantAndNonemployeeDirectorsMember"
      decimals="0"
      id="c298"
      unitRef="USD">250792</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2023-02-01_2023-04-30_PlanNameAxis-Plan2017Member_TitleOfIndividualAxis-EmployeesConsultantAndNonemployeeDirectorsMember"
      decimals="0"
      id="c299"
      unitRef="USD">154639</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2022-11-01_2023-04-30_PlanNameAxis-Plan2017Member_TitleOfIndividualAxis-EmployeesConsultantAndNonemployeeDirectorsMember"
      decimals="0"
      id="c300"
      unitRef="USD">289680</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="d_2023-11-01_2024-04-30_AwardTypeAxis-RestrictedStockMember"
      decimals="INF"
      id="c301"
      unitRef="Share">842</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="d_2023-11-01_2024-04-30_AwardTypeAxis-RestrictedStockMember"
      decimals="INF"
      id="c302"
      unitRef="Share">40324</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="d_2023-11-01_2024-04-30_AwardTypeAxis-RestrictedStockMember"
      id="c303">P1Y</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="i_2024-04-30_AwardTypeAxis-RestrictedStockMember"
      decimals="0"
      id="c304"
      unitRef="USD">262000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="d_2024-05-17_2024-05-17_AwardTypeAxis-RestrictedStockMember_PlanNameAxis-Plan2017Member_SubsequentEventTypeAxis-SubsequentEventMember"
      decimals="INF"
      id="c305"
      unitRef="Share">39960</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <occ:AllowanceForDoubtfulAccountsForTradeAccountsReceivableDisclosureTextBlock contextRef="d_2024-02-01_2024-04-30" id="c306">
&lt;table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"&gt;

		&lt;tbody&gt;&lt;tr style="vertical-align: top;"&gt;
			&lt;td style="width: 27pt;"&gt;
			&lt;p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"&gt;&lt;b&gt;(3)&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: auto;"&gt;
			&lt;p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"&gt;&lt;b&gt;Allowance for Credit Losses for Trade Accounts Receivable&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;

&lt;/tbody&gt;&lt;/table&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;"&gt;A summary of changes in the allowance for credit losses for trade accounts receivable for the six months ended April 30, 2024 and 2023 follows:&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;"&gt;&#160;&lt;/p&gt;


&lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px; margin-left: 27pt;"&gt;

		&lt;tbody&gt;&lt;tr class="finHeading" style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="6" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;Six Months Ended &lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr class="finHeading" style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="6" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;April 30,&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr class="finHeading" style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;2024&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 68%;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Balance at beginning of period&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;71,189&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;69,643&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Bad debt expense (recovery)&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(16,928&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;)&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"&gt;14,959&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Balance at end of period&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 3px double rgb(0, 0, 0);"&gt;54,261&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 3px double rgb(0, 0, 0);"&gt;84,602&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;

&lt;/tbody&gt;&lt;/table&gt;


&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
</occ:AllowanceForDoubtfulAccountsForTradeAccountsReceivableDisclosureTextBlock>
    <occ:SummaryOfChangesInAllowanceForDoubtfulAccountsForTradeAccountsReceivableTableTextBlock contextRef="d_2024-02-01_2024-04-30" id="c314">
&lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px; margin-left: 27pt;"&gt;

		&lt;tbody&gt;&lt;tr class="finHeading" style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="6" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;Six Months Ended &lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr class="finHeading" style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="6" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;April 30,&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr class="finHeading" style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;2024&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 68%;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Balance at beginning of period&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;71,189&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;69,643&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Bad debt expense (recovery)&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(16,928&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;)&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"&gt;14,959&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Balance at end of period&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 3px double rgb(0, 0, 0);"&gt;54,261&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 3px double rgb(0, 0, 0);"&gt;84,602&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;

&lt;/tbody&gt;&lt;/table&gt;
</occ:SummaryOfChangesInAllowanceForDoubtfulAccountsForTradeAccountsReceivableTableTextBlock>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i_2023-10-31"
      decimals="0"
      id="c316"
      unitRef="USD">71189</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i_2022-10-31"
      decimals="0"
      id="c317"
      unitRef="USD">69643</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c318"
      unitRef="USD">-16928</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c319"
      unitRef="USD">14959</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i_2024-04-30"
      decimals="0"
      id="c320"
      unitRef="USD">54261</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i_2023-04-30"
      decimals="0"
      id="c321"
      unitRef="USD">84602</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:InventoryDisclosureTextBlock contextRef="d_2024-02-01_2024-04-30" id="c322">
&lt;table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"&gt;

		&lt;tbody&gt;&lt;tr style="vertical-align: top;"&gt;
			&lt;td style="width: 27pt;"&gt;
			&lt;p style="margin: 0pt; text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;b&gt;(4)&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: auto;"&gt;
			&lt;p style="margin: 0pt; text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;b&gt;Inventories&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;

&lt;/tbody&gt;&lt;/table&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;Inventories as of April 30, 2024 and October&#160;31, 2023 consist of the following:&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;


&lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px; margin-left: 27pt;"&gt;

		&lt;tbody&gt;&lt;tr class="finHeading" style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;April 30,&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;October 31,&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr class="finHeading" style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;2024&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Finished goods&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;5,646,852&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;5,937,682&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Work in process&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;4,103,938&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;4,372,913&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Raw materials&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;11,345,172&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;13,130,478&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Production supplies&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"&gt;390,414&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"&gt;325,253&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Total&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 3px double rgb(0, 0, 0);"&gt;21,486,376&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 3px double rgb(0, 0, 0);"&gt;23,766,326&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;

&lt;/tbody&gt;&lt;/table&gt;


&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock contextRef="d_2024-02-01_2024-04-30" id="c334">
&lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px; margin-left: 27pt;"&gt;

		&lt;tbody&gt;&lt;tr class="finHeading" style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;April 30,&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;October 31,&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr class="finHeading" style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;2024&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Finished goods&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;5,646,852&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;5,937,682&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Work in process&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;4,103,938&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;4,372,913&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Raw materials&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;11,345,172&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;13,130,478&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Production supplies&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"&gt;390,414&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"&gt;325,253&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;"&gt;Total&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 3px double rgb(0, 0, 0);"&gt;21,486,376&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 3px double rgb(0, 0, 0);"&gt;23,766,326&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;

&lt;/tbody&gt;&lt;/table&gt;
</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="i_2024-04-30"
      decimals="0"
      id="c336"
      unitRef="USD">5646852</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="i_2023-10-31"
      decimals="0"
      id="c337"
      unitRef="USD">5937682</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="i_2024-04-30"
      decimals="0"
      id="c338"
      unitRef="USD">4103938</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="i_2023-10-31"
      decimals="0"
      id="c339"
      unitRef="USD">4372913</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="i_2024-04-30"
      decimals="0"
      id="c340"
      unitRef="USD">11345172</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="i_2023-10-31"
      decimals="0"
      id="c341"
      unitRef="USD">13130478</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventorySuppliesNetOfReserves
      contextRef="i_2024-04-30"
      decimals="0"
      id="c342"
      unitRef="USD">390414</us-gaap:InventorySuppliesNetOfReserves>
    <us-gaap:InventorySuppliesNetOfReserves
      contextRef="i_2023-10-31"
      decimals="0"
      id="c343"
      unitRef="USD">325253</us-gaap:InventorySuppliesNetOfReserves>
    <us-gaap:InventoryNet
      contextRef="i_2024-04-30"
      decimals="0"
      id="c344"
      unitRef="USD">21486376</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="i_2023-10-31"
      decimals="0"
      id="c345"
      unitRef="USD">23766326</us-gaap:InventoryNet>
    <us-gaap:ProductWarrantyDisclosureTextBlock contextRef="d_2024-02-01_2024-04-30" id="c346">
&lt;table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"&gt;

		&lt;tbody&gt;&lt;tr style="vertical-align: top;"&gt;
			&lt;td style="width: 27pt;"&gt;
			&lt;p style="margin: 0pt; text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;b&gt;(5) &lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: auto;"&gt;
			&lt;p style="margin: 0pt; text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;b&gt;Product Warranties&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;

&lt;/tbody&gt;&lt;/table&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;As of April 30, 2024 and October 31, 2023, the Company&#x2019;s accrual for estimated product warranty claims totaled $75,000 and $80,000, respectively, and is included in accounts payable and accrued expenses. Warranty claims expense for the three months and six months ended April 30, 2024 totaled $39,078 and $44,266, respectively. Warranty claims expense for the three months and six months ended April 30, 2023 totaled $13,078 and $29,652, respectively.&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;&#160;&lt;/p&gt;















&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;The following table summarizes the changes in the Company&#x2019;s accrual for product warranties during the six months ended April 30, 2024 and 2023:&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;


&lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px; margin-left: 27pt;"&gt;

		&lt;tbody&gt;&lt;tr class="finHeading" style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="6" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;Six Months Ended &lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr class="finHeading" style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="6" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;April 30, 2024&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr class="finHeading" style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;2024&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 68%;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Balance at beginning of period&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;80,000&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;75,000&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Liabilities accrued for warranties issued during the period&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;65,766&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;59,149&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Warranty claims and costs paid during the period&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;(49,266&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;(39,652&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Changes in liability for pre-existing warranties during the period&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(21,500&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;)&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(29,497&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;)&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Balance at end of period&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 3px double rgb(0, 0, 0);"&gt;75,000&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 3px double rgb(0, 0, 0);"&gt;65,000&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;

&lt;/tbody&gt;&lt;/table&gt;


&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
</us-gaap:ProductWarrantyDisclosureTextBlock>
    <us-gaap:ProductWarrantyAccrual
      contextRef="i_2024-04-30_BalanceSheetLocationAxis-AccountsPayableAndAccruedLiabilitiesMember"
      decimals="0"
      id="c348"
      unitRef="USD">75000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual
      contextRef="i_2023-10-31_BalanceSheetLocationAxis-AccountsPayableAndAccruedLiabilitiesMember"
      decimals="0"
      id="c349"
      unitRef="USD">80000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyExpense
      contextRef="d_2024-02-01_2024-04-30"
      decimals="0"
      id="c350"
      unitRef="USD">39078</us-gaap:ProductWarrantyExpense>
    <us-gaap:ProductWarrantyExpense
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c351"
      unitRef="USD">44266</us-gaap:ProductWarrantyExpense>
    <us-gaap:ProductWarrantyExpense
      contextRef="d_2023-02-01_2023-04-30"
      decimals="0"
      id="c352"
      unitRef="USD">13078</us-gaap:ProductWarrantyExpense>
    <us-gaap:ProductWarrantyExpense
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c353"
      unitRef="USD">29652</us-gaap:ProductWarrantyExpense>
    <us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock contextRef="d_2024-02-01_2024-04-30" id="c364">
&lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px; margin-left: 27pt;"&gt;

		&lt;tbody&gt;&lt;tr class="finHeading" style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="6" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;Six Months Ended &lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr class="finHeading" style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="6" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;April 30, 2024&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr class="finHeading" style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;2024&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 68%;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Balance at beginning of period&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;80,000&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;75,000&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Liabilities accrued for warranties issued during the period&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;65,766&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;59,149&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Warranty claims and costs paid during the period&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;(49,266&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;(39,652&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Changes in liability for pre-existing warranties during the period&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(21,500&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;)&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(29,497&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;)&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Balance at end of period&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 3px double rgb(0, 0, 0);"&gt;75,000&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 3px double rgb(0, 0, 0);"&gt;65,000&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;

&lt;/tbody&gt;&lt;/table&gt;
</us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock>
    <us-gaap:ProductWarrantyAccrual
      contextRef="i_2023-10-31"
      decimals="0"
      id="c366"
      unitRef="USD">80000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual
      contextRef="i_2022-10-31"
      decimals="0"
      id="c367"
      unitRef="USD">75000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrualWarrantiesIssued
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c368"
      unitRef="USD">65766</us-gaap:ProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:ProductWarrantyAccrualWarrantiesIssued
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c369"
      unitRef="USD">59149</us-gaap:ProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:ProductWarrantyAccrualPayments
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c370"
      unitRef="USD">49266</us-gaap:ProductWarrantyAccrualPayments>
    <us-gaap:ProductWarrantyAccrualPayments
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c371"
      unitRef="USD">39652</us-gaap:ProductWarrantyAccrualPayments>
    <us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c372"
      unitRef="USD">-21500</us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease>
    <us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c373"
      unitRef="USD">-29497</us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease>
    <us-gaap:ProductWarrantyAccrual
      contextRef="i_2024-04-30"
      decimals="0"
      id="c374"
      unitRef="USD">75000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual
      contextRef="i_2023-04-30"
      decimals="0"
      id="c375"
      unitRef="USD">65000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:LongTermDebtTextBlock contextRef="d_2024-02-01_2024-04-30" id="c376">
&lt;table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"&gt;

		&lt;tbody&gt;&lt;tr style="vertical-align: top;"&gt;
			&lt;td style="width: 27pt;"&gt;
			&lt;p style="margin: 0pt; text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;b&gt;(6)&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: auto;"&gt;
			&lt;p style="margin: 0pt; text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;b&gt;Long-term Debt and Notes Payable &lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;

&lt;/tbody&gt;&lt;/table&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;"&gt;The Company has credit facilities consisting of a real estate term loan, as amended and restated (the &#x201c;Virginia Real Estate Loan&#x201d;), and a Revolving Credit Master Promissory Note and related Loan and Security Agreement (collectively, the &#x201c;Revolver&#x201d;).&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;The Virginia Real Estate Loan is with Northeast Bank and is payable in monthly installments of principal and interest. Principal is calculated using the unpaid balance of the loan and a two hundred forty (240) month amortization schedule. Interest is computed on the aggregate principal balance outstanding at a rate equal to the Prime Rate, adjusted monthly on the fifth day of each calendar month in accordance with changes to the Prime Rate, provided, however, that the interest rate is never less than 8.5% per annum on the basis of a 360-day year times the actual number of days elapsed. The &lt;span style="-sec-ix-hidden:c380"&gt;&lt;span style="-sec-ix-hidden:c381"&gt;Prime Rate&lt;/span&gt;&lt;/span&gt; was 8.5% per annum at April 30, 2024 and October 31, 2023. The maturity date of the Virginia Real Estate Loan is May 5, 2026.&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;The Loan remains generally secured by a first lien deed of trust on the land and buildings at the Company&#x2019;s headquarters and manufacturing facilities located in Roanoke, Virginia. All other terms of the Virginia Real Estate Loan remain unaltered and remain in full force and effect.&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;The Company had an outstanding balance on its Virginia Real Estate Loan of $2.7 million, as of April 30, 2024 and October 31, 2023.&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;The Revolver with North Mill Capital LLC (now doing business as SLR Business Credit, &#x201c;SLR&#x201d;) provides the Company with one or more advances in an amount up to: (a) 85% of the aggregate outstanding amount of eligible accounts (the &#x201c;eligible accounts loan value&#x201d;); plus (b) the lowest of (i) an amount up to 35% of the aggregate value of eligible inventory, (ii) $5,000,000, and (iii) an amount not to exceed 100% of the then outstanding eligible accounts loan value; minus (c) $1,150,000.&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;The maximum aggregate principal amount subject to the Revolver is $18,000,000. Interest accrues on the daily balance at the per annum rate of 1.5% above the &lt;span style="-sec-ix-hidden:c393"&gt;&lt;span style="-sec-ix-hidden:c394"&gt;&lt;span style="-sec-ix-hidden:c395"&gt;Prime Rate&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; in effect from time to time, but not less than 4.75% (the &#x201c;Applicable Rate&#x201d;). As a result, the Revolver accrued interest at a 10.0% rate at April 30, 2024 and October 31, 2023. In the event of a default, interest may become 6.0% above the Applicable Rate. The termination date of the Revolver is July 24, 2025 and the loan may be extended in &lt;span style="-sec-ix-hidden:c400"&gt;one&lt;/span&gt; year periods subject to the agreement of SLR.&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;















&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;The Revolver is secured by all of the following assets: properties, rights and interests in property of the Company whether now owned or existing, or hereafter acquired or arising, and wherever located; all accounts, equipment, commercial tort claims, general intangibles, chattel paper, inventory, negotiable collateral, investment property, financial assets, letter-of-credit rights, supporting obligations, deposit accounts, money or assets of the Company, which hereafter come into the possession, custody, or control of SLR; all proceeds and products, whether tangible or intangible, of any of the foregoing, including proceeds of insurance covering any or all of the foregoing; any and all tangible or intangible property resulting from the sale, lease, license or other disposition of any of the foregoing, or any portion thereof or interest therein, and all proceeds thereof; and any other assets of the Company which may be subject to a lien in favor of SLR as security for the obligations under the Loan Agreement.&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;As of April 30, 2024, the Company had $8.0 million of outstanding borrowings on its Revolver and $2.0 million in available credit. As of October 31, 2023, the Company had $8.3 million of outstanding borrowings on its Revolver and $2.6 million in available credit.&lt;/p&gt;
</us-gaap:LongTermDebtTextBlock>
    <occ:DebtInstrumentAmortizationPeriod
      contextRef="d_2023-11-01_2024-04-30_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember"
      id="c378">P240M</occ:DebtInstrumentAmortizationPeriod>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="i_2024-04-30_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember_RangeAxis-MinimumMember"
      decimals="3"
      id="c379"
      unitRef="Pure">0.085</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="i_2024-04-30_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember"
      decimals="3"
      id="c382"
      unitRef="Pure">0.085</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="i_2023-10-31_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember"
      decimals="3"
      id="c383"
      unitRef="Pure">0.085</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <us-gaap:LongTermLoansPayable
      contextRef="i_2024-04-30_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember"
      decimals="-5"
      id="c384"
      unitRef="USD">2700000</us-gaap:LongTermLoansPayable>
    <us-gaap:LongTermLoansPayable
      contextRef="i_2023-10-31_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember"
      decimals="-5"
      id="c385"
      unitRef="USD">2700000</us-gaap:LongTermLoansPayable>
    <occ:LineOfCreditFacilityPercentOfEligibleAccounts
      contextRef="i_2024-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"
      decimals="2"
      id="c386"
      unitRef="Pure">0.85</occ:LineOfCreditFacilityPercentOfEligibleAccounts>
    <occ:LineOfCreditFacilityPercentOfEligibleInventory
      contextRef="i_2024-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"
      decimals="2"
      id="c387"
      unitRef="Pure">0.35</occ:LineOfCreditFacilityPercentOfEligibleInventory>
    <occ:LineOfCreditFacilityAdditionalCapacityForAdvances
      contextRef="i_2024-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"
      decimals="0"
      id="c388"
      unitRef="USD">5000000</occ:LineOfCreditFacilityAdditionalCapacityForAdvances>
    <occ:LineOfCreditFacilityMaximumPercentageOfOutstandingEligibleAccountsLoanValue
      contextRef="i_2024-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"
      decimals="0"
      id="c389"
      unitRef="Pure">1</occ:LineOfCreditFacilityMaximumPercentageOfOutstandingEligibleAccountsLoanValue>
    <occ:LineOfCreditFacilityRestrictedCapacityForAdvances
      contextRef="i_2024-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"
      decimals="0"
      id="c390"
      unitRef="USD">1150000</occ:LineOfCreditFacilityRestrictedCapacityForAdvances>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i_2024-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"
      decimals="0"
      id="c391"
      unitRef="USD">18000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="d_2023-11-01_2024-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"
      decimals="3"
      id="c392"
      unitRef="Pure">0.015</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="i_2020-07-24_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"
      decimals="4"
      id="c396"
      unitRef="Pure">0.0475</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="i_2024-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"
      decimals="1"
      id="c397"
      unitRef="Pure">0.10</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="i_2023-10-31_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"
      decimals="1"
      id="c398"
      unitRef="Pure">0.10</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="i_2020-07-24_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember_RangeAxis-MaximumMember"
      decimals="2"
      id="c399"
      unitRef="Pure">0.06</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <us-gaap:LineOfCredit
      contextRef="i_2024-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"
      decimals="-6"
      id="c401"
      unitRef="USD">8000000</us-gaap:LineOfCredit>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity
      contextRef="i_2024-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"
      decimals="-6"
      id="c402"
      unitRef="USD">2000000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <us-gaap:LineOfCredit
      contextRef="i_2023-10-31_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"
      decimals="-5"
      id="c403"
      unitRef="USD">8300000</us-gaap:LineOfCredit>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity
      contextRef="i_2023-10-31_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"
      decimals="-5"
      id="c404"
      unitRef="USD">2600000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <occ:LesseeOperatingAndFinanceLeasesDisclosureTextBlock contextRef="d_2024-02-01_2024-04-30" id="c405">
&lt;table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"&gt;

		&lt;tbody&gt;&lt;tr style="vertical-align: top;"&gt;
			&lt;td style="width: 27pt;"&gt;
			&lt;p style="margin: 0pt; text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;b&gt;(7)&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: auto;"&gt;
			&lt;p style="margin: 0pt; text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;b&gt;Leases&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;

&lt;/tbody&gt;&lt;/table&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;The Company has an operating lease agreement for approximately 34,000 square feet of office, manufacturing and warehouse space in Plano, Texas (near Dallas). The lease term expires on November 30, 2024.&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;The Company has an operating lease agreement for approximately 36,000 square feet of warehouse space in Roanoke, Virginia. During the first quarter of fiscal year 2023, the lease term was extended for an additional &lt;span style="-sec-ix-hidden:c409"&gt;three&lt;/span&gt; years. The new expiration date is April 30, 2026.&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;The Company also leases certain office equipment under operating leases with initial 60 month terms. The lease terms expire in February and April of 2025.&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;OCC leases printers that are used in the Roanoke, Virginia manufacturing facility. The lease term expires on August 22, 2026. The right-of-use asset is being amortized on a straight line basis over seven years. When the lease term ends, the remaining net book value of the right-of-use asset will be classified as property and equipment.&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;The Company&#x2019;s lease contracts may include options to extend or terminate the leases. The Company exercises judgment to determine the term of those leases when such options are present and include such options in the calculation of the lease term when it is reasonably certain that it will exercise those options.&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;The Company includes contract lease components in its determination of lease payments, while non-lease components of the contracts, such as taxes, insurance, and common area maintenance, are expensed as incurred. At commencement, right-of-use assets and lease liabilities are measured at the present value of future lease payments over the lease term. The Company uses its incremental borrowing rate based on information available at the time of lease commencement to measure the present value of future payments.&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;Operating lease expense is recognized on a straight-line basis over the lease term. Short term leases with an initial term of 12 months or less are expensed as incurred. The Company&#x2019;s short term leases have month-to-month terms.&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;















&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;Operating lease right-of-use assets of $407,796 and $596,578 were included in &lt;span style="-sec-ix-hidden:c413"&gt;&lt;span style="-sec-ix-hidden:c414"&gt;other assets&lt;/span&gt;&lt;/span&gt; at April 30, 2024 and October 31, 2023, respectively. Operating lease liabilities of $318,225 and $121,294, respectively, were included in &lt;span style="-sec-ix-hidden:c417"&gt;accounts payable and accrued expenses&lt;/span&gt;, and &lt;span style="-sec-ix-hidden:c418"&gt;other noncurrent liabilities&lt;/span&gt;, at April 30, 2024. Operating lease liabilities of $414,159 and $227,925, respectively, were included in &lt;span style="-sec-ix-hidden:c421"&gt;accounts payable and accrued expenses&lt;/span&gt;, and &lt;span style="-sec-ix-hidden:c422"&gt;other noncurrent liabilities&lt;/span&gt; at October 31, 2023. Operating lease expense recognized during the three months and six months ended April 30, 2024 totaled $109,144 and $218,288, respectively. Operating lease expense recognized during the three months and six months ended April 30, 2023 totaled $109,144 and $212,477, respectively.&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;The weighted average remaining lease term was 16.5 months and the weighted average discount rate was 7.6% as of April 30, 2024.&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;For the three months ended April 30, 2024 and 2023, cash paid for operating lease liabilities totaled $111,770 and $109,151, respectively. For the three months ended April 30, 2024 and 2023, there were &lt;span style="-sec-ix-hidden:c431"&gt;&lt;span style="-sec-ix-hidden:c432"&gt;no&lt;/span&gt;&lt;/span&gt; right-of-use assets obtained in exchange for new operating lease liabilities.&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;Finance lease right-of-use assets of $126,593 and $141,342 were included in &lt;span style="-sec-ix-hidden:c435"&gt;&lt;span style="-sec-ix-hidden:c436"&gt;other assets&lt;/span&gt;&lt;/span&gt; at April 30, 2024 and October 31, 2023, respectively. Finance lease liabilities of $38,357 and $74,046, respectively, were included in &lt;span style="-sec-ix-hidden:c439"&gt;accounts payable and accrued expenses&lt;/span&gt;, and &lt;span style="-sec-ix-hidden:c440"&gt;other noncurrent liabilities&lt;/span&gt; at April 30, 2024. Finance lease liabilities of $37,459 and $93,451, respectively, were included in &lt;span style="-sec-ix-hidden:c443"&gt;accounts payable and accrued expenses&lt;/span&gt;, and &lt;span style="-sec-ix-hidden:c444"&gt;other noncurrent liabilities&lt;/span&gt; at October 31, 2023. Interest expense related to the finance lease totaled $1,409 and $2,927, respectively, for the three months and six months ended April 30, 2024. Interest expense related to the finance lease totaled $1,840 and $3,784, respectively, for the three months and six months ended April 30, 2023. For the three months ended April 30, 2024 and 2023, amortization expense related to the finance lease totaled $7,374. For the six months ended April 30, 2024 and 2023, amortization expense related to the finance lease totaled $14,749.&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;The remaining lease term for the finance lease is 28 months and the discount rate is 4.75% as of April 30, 2024.&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;For the three months ended April 30, 2024, cash paid for the finance lease liability totaled $1,409 for interest and $9,309 for principal. For the six months ended April 30, 2024, cash paid for the finance lease liability totaled $2,927 for interest and $18,507 for principal.&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;For the three months ended April 30, 2023, cash paid for the finance lease liability totaled $1,840 for interest and $8,878 for principal. For the six months ended April 30, 2023, cash paid for the finance lease liability totaled $3,784 for interest and $17,652 for principal.&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;&#160;&lt;/p&gt;















&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;The Company&#x2019;s future payments due under leases reconciled to the lease liabilities are as follows:&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;


&lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 15%; width: 85%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px; margin-left: 63pt;"&gt;

		&lt;tbody&gt;&lt;tr class="finHeading" style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 64%;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&lt;b&gt;&lt;span style="text-decoration: underline; "&gt;&lt;b&gt;Fiscal Year&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;Operating &lt;/b&gt;&lt;/p&gt;

			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;leases&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;Finance &lt;/b&gt;&lt;/p&gt;

			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;lease&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;b&gt;2024 &lt;sup style="vertical-align:top;line-height:120%;"&gt;(1)&lt;/sup&gt;&lt;/b&gt;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;225,340&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;21,434&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;2025&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;177,997&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;42,868&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;2026&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;63,644&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;55,714&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Total undiscounted lease payments&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;466,981&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;120,016&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Present value discount&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(27,462&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;)&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(7,613&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;)&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Total lease liability&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
			&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;439,519&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
			&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;112,403&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&lt;b&gt;(1) Remaining six months of fiscal year 2024.&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
		&lt;/tr&gt;

&lt;/tbody&gt;&lt;/table&gt;


&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
</occ:LesseeOperatingAndFinanceLeasesDisclosureTextBlock>
    <us-gaap:AreaOfRealEstateProperty
      contextRef="i_2024-04-30_LeaseContractualTermAxis-OperatingLeaseForOfficeManufacturingAndWarehouseSpaceInPlanoTexasMember"
      decimals="INF"
      id="c407"
      unitRef="SquareFoot">34000</us-gaap:AreaOfRealEstateProperty>
    <us-gaap:AreaOfRealEstateProperty
      contextRef="i_2024-04-30_LeaseContractualTermAxis-OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember"
      decimals="INF"
      id="c408"
      unitRef="SquareFoot">36000</us-gaap:AreaOfRealEstateProperty>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="i_2024-04-30_LeaseContractualTermAxis-OperatingLeaseForOfficeEquipmentMember"
      id="c410">P60M</us-gaap:LesseeOperatingLeaseTermOfContract>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i_2024-04-30"
      decimals="0"
      id="c411"
      unitRef="USD">407796</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i_2023-10-31"
      decimals="0"
      id="c412"
      unitRef="USD">596578</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i_2024-04-30"
      decimals="0"
      id="c415"
      unitRef="USD">318225</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i_2024-04-30"
      decimals="0"
      id="c416"
      unitRef="USD">121294</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i_2023-10-31"
      decimals="0"
      id="c419"
      unitRef="USD">414159</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i_2023-10-31"
      decimals="0"
      id="c420"
      unitRef="USD">227925</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseExpense
      contextRef="d_2024-02-01_2024-04-30"
      decimals="0"
      id="c423"
      unitRef="USD">109144</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c424"
      unitRef="USD">218288</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="d_2023-02-01_2023-04-30"
      decimals="0"
      id="c425"
      unitRef="USD">109144</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="d_2022-11-01_2023-01-31"
      decimals="0"
      id="c426"
      unitRef="USD">212477</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1 contextRef="i_2024-04-30" id="c427">P16M15D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="i_2024-04-30"
      decimals="3"
      id="c428"
      unitRef="Pure">0.076</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeasePayments
      contextRef="d_2024-02-01_2024-04-30"
      decimals="0"
      id="c429"
      unitRef="USD">111770</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="d_2023-02-01_2023-04-30"
      decimals="0"
      id="c430"
      unitRef="USD">109151</us-gaap:OperatingLeasePayments>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="i_2024-04-30"
      decimals="0"
      id="c433"
      unitRef="USD">126593</us-gaap:FinanceLeaseRightOfUseAsset>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="i_2023-10-31"
      decimals="0"
      id="c434"
      unitRef="USD">141342</us-gaap:FinanceLeaseRightOfUseAsset>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="i_2024-04-30"
      decimals="0"
      id="c437"
      unitRef="USD">38357</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="i_2024-04-30"
      decimals="0"
      id="c438"
      unitRef="USD">74046</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="i_2023-10-31"
      decimals="0"
      id="c441"
      unitRef="USD">37459</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="i_2023-10-31"
      decimals="0"
      id="c442"
      unitRef="USD">93451</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="d_2024-02-01_2024-04-30"
      decimals="0"
      id="c445"
      unitRef="USD">1409</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c446"
      unitRef="USD">2927</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="d_2023-02-01_2023-04-30"
      decimals="0"
      id="c447"
      unitRef="USD">1840</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c448"
      unitRef="USD">3784</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="d_2024-02-01_2024-04-30"
      decimals="0"
      id="c449"
      unitRef="USD">7374</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="d_2023-02-01_2023-04-30"
      decimals="0"
      id="c450"
      unitRef="USD">7374</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c451"
      unitRef="USD">14749</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c452"
      unitRef="USD">14749</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:LesseeFinanceLeaseRemainingLeaseTerm contextRef="i_2024-04-30" id="c453">P28M</us-gaap:LesseeFinanceLeaseRemainingLeaseTerm>
    <us-gaap:LesseeFinanceLeaseDiscountRate
      contextRef="i_2024-04-30"
      decimals="4"
      id="c454"
      unitRef="Pure">0.0475</us-gaap:LesseeFinanceLeaseDiscountRate>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="d_2024-02-01_2024-04-30"
      decimals="0"
      id="c455"
      unitRef="USD">1409</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="d_2024-02-01_2024-04-30"
      decimals="0"
      id="c456"
      unitRef="USD">9309</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c457"
      unitRef="USD">2927</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c458"
      unitRef="USD">18507</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="d_2023-02-01_2023-04-30"
      decimals="0"
      id="c459"
      unitRef="USD">1840</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="d_2023-02-01_2023-04-30"
      decimals="0"
      id="c460"
      unitRef="USD">8878</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c461"
      unitRef="USD">3784</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c462"
      unitRef="USD">17652</us-gaap:FinanceLeasePrincipalPayments>
    <occ:LesseeLeaseLiabilityMaturityTableTextBlock contextRef="d_2024-02-01_2024-04-30" id="c475">
&lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 15%; width: 85%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px; margin-left: 63pt;"&gt;

		&lt;tbody&gt;&lt;tr class="finHeading" style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 64%;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&lt;b&gt;&lt;span style="text-decoration: underline; "&gt;&lt;b&gt;Fiscal Year&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;Operating &lt;/b&gt;&lt;/p&gt;

			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;leases&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;Finance &lt;/b&gt;&lt;/p&gt;

			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;lease&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;b&gt;2024 &lt;sup style="vertical-align:top;line-height:120%;"&gt;(1)&lt;/sup&gt;&lt;/b&gt;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;225,340&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;21,434&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;2025&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;177,997&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;42,868&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;2026&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;63,644&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;55,714&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Total undiscounted lease payments&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;466,981&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;120,016&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Present value discount&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(27,462&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;)&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(7,613&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;)&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Total lease liability&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
			&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;439,519&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
			&lt;td style="width: 15%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;112,403&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&lt;b&gt;(1) Remaining six months of fiscal year 2024.&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/td&gt;
		&lt;/tr&gt;

&lt;/tbody&gt;&lt;/table&gt;
</occ:LesseeLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear
      contextRef="i_2024-04-30"
      decimals="0"
      id="c477"
      unitRef="USD">225340</us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear>
    <us-gaap:FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear
      contextRef="i_2024-04-30"
      decimals="0"
      id="c478"
      unitRef="USD">21434</us-gaap:FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="i_2024-04-30"
      decimals="0"
      id="c479"
      unitRef="USD">177997</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="i_2024-04-30"
      decimals="0"
      id="c480"
      unitRef="USD">42868</us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="i_2024-04-30"
      decimals="0"
      id="c481"
      unitRef="USD">63644</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo
      contextRef="i_2024-04-30"
      decimals="0"
      id="c482"
      unitRef="USD">55714</us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="i_2024-04-30"
      decimals="0"
      id="c483"
      unitRef="USD">466981</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:FinanceLeaseLiabilityPaymentsDue
      contextRef="i_2024-04-30"
      decimals="0"
      id="c484"
      unitRef="USD">120016</us-gaap:FinanceLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="i_2024-04-30"
      decimals="0"
      id="c485"
      unitRef="USD">27462</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount
      contextRef="i_2024-04-30"
      decimals="0"
      id="c486"
      unitRef="USD">7613</us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="i_2024-04-30"
      decimals="0"
      id="c487"
      unitRef="USD">439519</us-gaap:OperatingLeaseLiability>
    <us-gaap:FinanceLeaseLiability
      contextRef="i_2024-04-30"
      decimals="0"
      id="c488"
      unitRef="USD">112403</us-gaap:FinanceLeaseLiability>
    <us-gaap:FairValueDisclosuresTextBlock contextRef="d_2024-02-01_2024-04-30" id="c489">
&lt;table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"&gt;

		&lt;tbody&gt;&lt;tr style="vertical-align: top;"&gt;
			&lt;td style="width: 27pt;"&gt;
			&lt;p style="margin: 0pt; text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;b&gt;(8)&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: auto;"&gt;
			&lt;p style="margin: 0pt; text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;b&gt;Fair Value Measurements&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;

&lt;/tbody&gt;&lt;/table&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;The carrying amounts reported in the condensed consolidated balance sheets as of April 30, 2024 and October 31, 2023 for cash, trade accounts receivable, income taxes refundable &#x2013; current, other receivables, current installments of long-term debt, accounts payable and accrued expenses, accrued compensation and payroll taxes, and income taxes payable approximate fair value because of the short maturity of these instruments. The carrying value of the Company&#x2019;s note payable, revolver &#x2013; noncurrent, and long-term debt, excluding current installments, approximates fair value because the interest rates vary with the market. Fair value is defined as the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date.&lt;/p&gt;
</us-gaap:FairValueDisclosuresTextBlock>
    <us-gaap:EarningsPerShareTextBlock contextRef="d_2024-02-01_2024-04-30" id="c491">
&lt;table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"&gt;

		&lt;tbody&gt;&lt;tr style="vertical-align: top;"&gt;
			&lt;td style="width: 27pt;"&gt;
			&lt;p style="margin: 0pt; text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;b&gt;&lt;a href="#" id="note9" title="note9"&gt;&lt;/a&gt;(9)&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: auto;"&gt;
			&lt;p style="margin: 0pt; text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;b&gt;Net Income (Loss) Per Share&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;

&lt;/tbody&gt;&lt;/table&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;Basic net income (loss) per share excludes dilution and is computed by dividing net income (loss) available to common shareholders by the weighted-average number of common shares outstanding for the period. Diluted net income (loss) per share reflects the potential dilution that could occur if securities or other contracts to issue common stock were exercised or converted into common stock or resulted in the issuance of common stock that then shared in the net income (loss) of the Company.&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;The following is a reconciliation of the numerators and denominators of the net income (loss) per share computations for the periods presented:&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;


&lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px; margin-left: 27pt;"&gt;

		&lt;tbody&gt;&lt;tr class="finHeading" style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="6" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;Three months ended &lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="6" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;Six months ended&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr class="finHeading" style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="6" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;April 30,&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="6" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;April 30,&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr class="finHeading" style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;2024&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;2024&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 48%;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Net income (loss) (numerator)&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(1,601,346&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;2,423,087&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(3,026,620&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;3,233,071&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Shares (denominator)&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;7,710,801&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;7,867,755&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;7,731,605&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;7,880,685&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Basic and diluted net income (loss) per share&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(0.21&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;)&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;0.31&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(0.39&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;)&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;0.41&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;

&lt;/tbody&gt;&lt;/table&gt;


&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;Weighted average unvested shares for the three months and six months ended April 30, 2024 totaling 141,723, while issued and outstanding, were not included in the computation of basic and diluted net loss per share for the three months and six months ended April 30, 2024 (because to include such shares would have been anti-dilutive, or in other words, to do so would have reduced the net loss per share for those periods).&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;&#160;&lt;/p&gt;












</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock contextRef="d_2024-02-01_2024-04-30" id="c507">
&lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px; margin-left: 27pt;"&gt;

		&lt;tbody&gt;&lt;tr class="finHeading" style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="6" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;Three months ended &lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="6" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;Six months ended&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr class="finHeading" style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="6" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;April 30,&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="6" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;April 30,&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr class="finHeading" style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;2024&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;2024&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 48%;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Net income (loss) (numerator)&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(1,601,346&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;2,423,087&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;(3,026,620&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;3,233,071&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Shares (denominator)&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;7,710,801&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;7,867,755&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;7,731,605&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;7,880,685&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Basic and diluted net income (loss) per share&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(0.21&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;)&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;0.31&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(0.39&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;)&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;0.41&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;

&lt;/tbody&gt;&lt;/table&gt;
</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="d_2024-02-01_2024-04-30"
      decimals="0"
      id="c509"
      unitRef="USD">-1601346</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2023-02-01_2023-04-30"
      decimals="0"
      id="c510"
      unitRef="USD">2423087</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c511"
      unitRef="USD">-3026620</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c512"
      unitRef="USD">3233071</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="d_2024-02-01_2024-04-30"
      decimals="INF"
      id="c513"
      unitRef="Share">7710801</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="d_2023-02-01_2023-04-30"
      decimals="INF"
      id="c514"
      unitRef="Share">7867755</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="d_2023-11-01_2024-04-30"
      decimals="INF"
      id="c515"
      unitRef="Share">7731605</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="d_2022-11-01_2023-04-30"
      decimals="INF"
      id="c516"
      unitRef="Share">7880685</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="d_2024-02-01_2024-04-30"
      decimals="INF"
      id="c517"
      unitRef="USDPerShare">-0.21</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="d_2023-02-01_2023-04-30"
      decimals="INF"
      id="c518"
      unitRef="USDPerShare">0.31</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="d_2023-11-01_2024-04-30"
      decimals="INF"
      id="c519"
      unitRef="USDPerShare">-0.39</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="d_2022-11-01_2023-04-30"
      decimals="INF"
      id="c520"
      unitRef="USDPerShare">0.41</us-gaap:EarningsPerShareBasic>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="d_2024-02-01_2024-04-30"
      decimals="INF"
      id="c505"
      unitRef="Share">141723</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="d_2023-11-01_2024-04-30"
      decimals="INF"
      id="c506"
      unitRef="Share">141723</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:ConcentrationRiskDisclosureTextBlock contextRef="d_2024-02-01_2024-04-30" id="c521">
&lt;table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"&gt;

		&lt;tbody&gt;&lt;tr style="vertical-align: top;"&gt;
			&lt;td style="width: 27pt;"&gt;
			&lt;p style="margin: 0pt; text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;b&gt;(10)&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: auto;"&gt;
			&lt;p style="margin: 0pt; text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;b&gt;Segment Information and Business and Credit Concentrations&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;

&lt;/tbody&gt;&lt;/table&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;The Company provides credit, in the normal course of business, to various commercial enterprises, governmental entities and not&#x2011;for&#x2011;profit organizations. Concentration of credit risk with respect to trade receivables is normally limited due to the Company&#x2019;s large number of customers. The Company also manages exposure to credit risk through credit approvals, credit limits and monitoring procedures. Management believes that credit risks as of April 30, 2024 have been adequately provided for in the condensed consolidated financial statements. The Company includes all entities under common ownership for the purpose of calculating business concentrations.&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;For the three months and six months ended April 30, 2024, 16.3% and 15.9%, respectively, of consolidated net sales were attributable to &lt;span style="-sec-ix-hidden:c525"&gt;&lt;span style="-sec-ix-hidden:c526"&gt;&lt;span style="-sec-ix-hidden:c527"&gt;&lt;span style="-sec-ix-hidden:c528"&gt;one&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; national distributor customer. For the three months and six months ended April 30, 2023, 17.7% and 16.3%, respectively, of consolidated net sales were attributable to the same national distributor customer.&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;The Company has a &lt;span style="-sec-ix-hidden:c531"&gt;single&lt;/span&gt; reportable segment for purposes of segment reporting.&lt;/p&gt;
</us-gaap:ConcentrationRiskDisclosureTextBlock>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2024-02-01_2024-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-OneCustomerMember"
      decimals="3"
      id="c523"
      unitRef="Pure">0.163</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2023-11-01_2024-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-OneCustomerMember"
      decimals="3"
      id="c524"
      unitRef="Pure">0.159</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2023-02-01_2023-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-OneCustomerMember"
      decimals="3"
      id="c529"
      unitRef="Pure">0.177</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2022-11-01_2023-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-OneCustomerMember"
      decimals="3"
      id="c530"
      unitRef="Pure">0.163</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerTextBlock contextRef="d_2024-02-01_2024-04-30" id="c532">
&lt;table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"&gt;

		&lt;tbody&gt;&lt;tr style="vertical-align: top;"&gt;
			&lt;td style="width: 27pt;"&gt;
			&lt;p style="margin: 0pt; text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;b&gt;(11)&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: auto;"&gt;
			&lt;p style="margin: 0pt; text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;b&gt;Revenue Recognition&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;

&lt;/tbody&gt;&lt;/table&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;Revenues consist of product sales that are recognized at a specific point in time under the core principle of recognizing revenue when control transfers to the customer. The Company considers customer purchase orders, governed by master sales agreements or the Company&#x2019;s standard terms and conditions, to be the contract with the customer. For each contract, the promise to transfer the control of the products, each of which is individually distinct, is considered to be the identified performance obligation. The Company evaluates each customer&#x2019;s credit risk when determining whether to accept a contract.&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;In determining transaction prices, the Company evaluates whether fixed order prices are subject to adjustment to determine the net consideration to which the Company expects to be entitled. Contracts do not include financing components, as payment terms are generally due 30 to 90 days after shipment. Taxes assessed by governmental authorities and collected from the customer including, but not limited to, sales and use taxes and value-added taxes, are not included in the transaction price and are not included in net sales.&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;The Company recognizes revenue at the point in time when products are shipped or delivered from its manufacturing facility to its customer, in accordance with the agreed-upon shipping terms. Since the Company typically invoices the customer at the same time that performance obligations are satisfied, no contract assets are recognized. The Company&#x2019;s contract liability represents advance consideration received from customers prior to transfer of the product. This liability was $180,431 as of April 30, 2024 and $110,336 as of October 31, 2023.&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;Sales to certain customers are made pursuant to agreements that provide price adjustments and limited return rights with respect to the Company&#x2019;s products. The Company maintains a reserve for estimated future price adjustment claims, rebates and returns as a refund liability. The Company&#x2019;s refund liability was $133,201 as of April 30, 2024 and $252,264 as of October 31, 2023.&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;















&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;The Company offers standard product warranty coverage which provides assurance that its products will conform to contractually agreed-upon specifications for a limited period from the date of shipment. Separately-priced warranty coverage is not offered. The warranty claim is generally limited to a credit equal to the purchase price or a promise to repair or replace the product for a specified period of time at no additional charge.&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;The Company accounts for shipping and handling activities related to contracts with customers as a cost to fulfill its promise to transfer control of the related product. Shipping and handling costs are included in selling, general and administrative expenses in the accompanying Condensed Consolidated Statements of Operations.&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;The Company incurs sales commissions to acquire customer contracts that are directly attributable to the contracts. The commissions are expensed as selling expenses during the period that the related products are transferred to customers.&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 27pt;"&gt;&lt;i&gt;Disaggregation of Revenue&lt;/i&gt;&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;"&gt;The following table presents net sales attributable to the United States and all other countries in total for the three months and six months ended April 30, 2024 and 2023:&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;


&lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px; margin-left: 27pt;"&gt;

		&lt;tbody&gt;&lt;tr class="finHeading" style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="6" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;Three months ended &lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="6" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;Six months ended &lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr class="finHeading" style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="6" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;April 30,&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="6" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;April 30,&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr class="finHeading" style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;2024&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;2024&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;United States&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;13,024,311&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;15,829,216&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;24,993,866&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;30,407,301&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Outside the United States&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;3,087,787&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;3,790,320&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;5,972,997&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;7,495,910&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt;"&gt;Total net sales&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;16,112,098&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;19,619,536&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;30,966,863&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;37,903,211&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;

&lt;/tbody&gt;&lt;/table&gt;


&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:ContractWithCustomerLiability
      contextRef="i_2024-04-30"
      decimals="0"
      id="c534"
      unitRef="USD">180431</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="i_2023-10-31"
      decimals="0"
      id="c535"
      unitRef="USD">110336</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerRefundLiability
      contextRef="i_2024-04-30"
      decimals="0"
      id="c536"
      unitRef="USD">133201</us-gaap:ContractWithCustomerRefundLiability>
    <us-gaap:ContractWithCustomerRefundLiability
      contextRef="i_2023-10-31"
      decimals="0"
      id="c537"
      unitRef="USD">252264</us-gaap:ContractWithCustomerRefundLiability>
    <us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock contextRef="d_2024-02-01_2024-04-30" id="c550">
&lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px; margin-left: 27pt;"&gt;

		&lt;tbody&gt;&lt;tr class="finHeading" style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="6" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;Three months ended &lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="6" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;Six months ended &lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr class="finHeading" style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="6" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;April 30,&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="6" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;April 30,&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr class="finHeading" style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;2024&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;2024&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td colspan="2" style="text-align: center; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;United States&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;13,024,311&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;15,829,216&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;24,993,866&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;30,407,301&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Outside the United States&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;3,087,787&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;3,790,320&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;5,972,997&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;7,495,910&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt;"&gt;Total net sales&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;16,112,098&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;19,619,536&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;30,966,863&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
			&lt;td style="width: 10%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;37,903,211&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;

&lt;/tbody&gt;&lt;/table&gt;
</us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2024-02-01_2024-04-30_StatementGeographicalAxis-US"
      decimals="0"
      id="c552"
      unitRef="USD">13024311</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2023-02-01_2023-04-30_StatementGeographicalAxis-US"
      decimals="0"
      id="c553"
      unitRef="USD">15829216</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2023-11-01_2024-04-30_StatementGeographicalAxis-US"
      decimals="0"
      id="c554"
      unitRef="USD">24993866</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2022-11-01_2023-04-30_StatementGeographicalAxis-US"
      decimals="0"
      id="c555"
      unitRef="USD">30407301</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2024-02-01_2024-04-30_StatementGeographicalAxis-NonUsMember"
      decimals="0"
      id="c556"
      unitRef="USD">3087787</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2023-02-01_2023-04-30_StatementGeographicalAxis-NonUsMember"
      decimals="0"
      id="c557"
      unitRef="USD">3790320</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2023-11-01_2024-04-30_StatementGeographicalAxis-NonUsMember"
      decimals="0"
      id="c558"
      unitRef="USD">5972997</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2022-11-01_2023-04-30_StatementGeographicalAxis-NonUsMember"
      decimals="0"
      id="c559"
      unitRef="USD">7495910</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2024-02-01_2024-04-30"
      decimals="0"
      id="c560"
      unitRef="USD">16112098</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2023-02-01_2023-04-30"
      decimals="0"
      id="c561"
      unitRef="USD">19619536</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2023-11-01_2024-04-30"
      decimals="0"
      id="c562"
      unitRef="USD">30966863</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c563"
      unitRef="USD">37903211</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock contextRef="d_2024-02-01_2024-04-30" id="c564">
&lt;table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"&gt;

		&lt;tbody&gt;&lt;tr style="vertical-align: top;"&gt;
			&lt;td style="width: 27pt;"&gt;
			&lt;p style="margin: 0pt; text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;b&gt;(12)&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: auto;"&gt;
			&lt;p style="margin: 0pt; text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;b&gt;Contingencies&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;

&lt;/tbody&gt;&lt;/table&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;From time to time, the Company is involved in various claims, legal actions and regulatory reviews arising in the ordinary course of business. In the opinion of management, the ultimate disposition of these matters will not have a material adverse effect on the Company&#x2019;s financial position, results of operations or liquidity.&lt;/p&gt;
</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock contextRef="d_2024-02-01_2024-04-30" id="c566">
&lt;table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"&gt;

		&lt;tbody&gt;&lt;tr style="vertical-align: top;"&gt;
			&lt;td style="width: 27pt;"&gt;
			&lt;p style="margin: 0pt; text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;b&gt;(13) &lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: auto;"&gt;
			&lt;p style="margin: 0pt; text-align: left; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;b&gt;New Accounting Standards Not Yet Adopted&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;

&lt;/tbody&gt;&lt;/table&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;In November 2023, the FASB issued Accounting Standards Update 2023-07, &lt;i&gt;Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures&lt;/i&gt;. ASU 2023-07 requires enhanced disclosures about significant segment expenses and enhanced disclosures in interim periods. The guidance in ASU 2023-07 will be applied retrospectively and is effective for annual reporting periods in fiscal years beginning after December 15, 2023 and interim reporting periods in fiscal years beginning after December 31, 2024, with early adoption permitted. The Company is currently evaluating the impact ASU 2023-07&#160;will have on its financial statement disclosures.&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;In December 2023, the FASB issued Accounting Standards Update 2023-09, &lt;i&gt;Income Taxes (Topic 740): Improvements to Income Tax Disclosures&lt;/i&gt; (&#x201c;ASU 2023-09&#x201d;). The objective of ASU 2023-09 is to enhance disclosures related to income taxes, including specific thresholds for inclusion within the tabular disclosure of income tax rate reconciliation and specified information about income taxes paid. ASU 2023-09 is effective for public companies starting in annual periods beginning after December 15, 2024, with early adoption permitted. The Company is currently evaluating the impact ASU 2023-09&#160;will have on its financial statement disclosures.&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt; text-align: justify;"&gt;There are no other new accounting standards issued, but not yet adopted by the Company, which are expected to materially impact the Company&#x2019;s financial position, operating results or financial statement disclosures.&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 27pt;"&gt;&#160;&lt;/p&gt;



&lt;p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"&gt;&#160;&lt;/p&gt;
</us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock>
    <ecd:MtrlTermsOfTrdArrTextBlock contextRef="d_2024-02-01_2024-04-30" id="c568">
&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"&gt;&lt;b&gt;&lt;a href="#" id="item5" title="item5"&gt;&lt;/a&gt;Item 5. Other Information&lt;/b&gt;&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"&gt;At the end of December 2022, an office building and its contents at the Company&#x2019;s Asheville facilities sustained water damage resulting from a burst pipe in the sprinkler system, likely due to extreme low temperatures in the area during the days leading up to the event. This office building is separate from the Company&#x2019;s manufacturing building which houses its manufacturing operations and certain offices at the same location. There was &lt;span style="-sec-ix-hidden:c570"&gt;&lt;span style="-sec-ix-hidden:c571"&gt;&lt;span style="-sec-ix-hidden:c572"&gt;&lt;span style="-sec-ix-hidden:c573"&gt;no&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; significant impact to the Company&#x2019;s operations. The Company has insurance coverage for the office building, its contents and certain business expenses to cover the losses incurred.&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"&gt;During the first half of fiscal year 2024, the Company recognized a gain on insurance proceeds, net for damage to property and equipment totaling $219,000 which is reflected as income under other income (expense), net on the Company&#x2019;s condensed consolidated statement of operations. To the extent the Company incurs expenses in future periods to restore, repair or replace damaged assets, it may recognize offsetting losses in those future periods. At this time, the Company does not expect any future restoration and repair costs to exceed any insurance proceeds.&lt;/p&gt;

&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;



&lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
</ecd:MtrlTermsOfTrdArrTextBlock>
    <link:footnoteLink
      xlink:role="http://www.xbrl.org/2003/role/link"
      xlink:type="extended">
        <link:loc xlink:href="#c477" xlink:label="c477" xlink:type="locator"/>
        <link:loc xlink:href="#c478" xlink:label="c478" xlink:type="locator"/>
        <link:footnote id="ff1f85a32-5a6c-4c89-bbeb-5dbee05c913a" xlink:label="ff1f85a32-5a6c-4c89-bbeb-5dbee05c913a" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-us">Remaining six months of fiscal year 2024.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c477"
          xlink:to="ff1f85a32-5a6c-4c89-bbeb-5dbee05c913a"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c478"
          xlink:to="ff1f85a32-5a6c-4c89-bbeb-5dbee05c913a"
          xlink:type="arc"/>
    </link:footnoteLink>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
