<SEC-DOCUMENT>0001437749-23-017089.txt : 20230612
<SEC-HEADER>0001437749-23-017089.hdr.sgml : 20230612
<ACCEPTANCE-DATETIME>20230612113027
ACCESSION NUMBER:		0001437749-23-017089
CONFORMED SUBMISSION TYPE:	10-Q
PUBLIC DOCUMENT COUNT:		60
CONFORMED PERIOD OF REPORT:	20230430
FILED AS OF DATE:		20230612
DATE AS OF CHANGE:		20230612

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			OPTICAL CABLE CORP
		CENTRAL INDEX KEY:			0001000230
		STANDARD INDUSTRIAL CLASSIFICATION:	DRAWING AND INSULATING NONFERROUS WIRE [3357]
		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:		231007419

	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>occ20230430_10q.htm
<DESCRIPTION>FORM 10-Q
<TEXT>
<XBRL>
<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/2023" 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/2015-02-26" xmlns:us-types="http://fasb.org/us-types/2017-01-31" xmlns:srt-types="http://fasb.org/srt-types/2017-01-31" 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/2023" 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/2023" xmlns:occ="http://http/20230430" xmlns:rr="http://xbrl.sec.gov/rr/2023" xmlns:srt="http://fasb.org/srt/2023" xmlns:currency="http://xbrl.sec.gov/currency/2023" xmlns:sic="http://xbrl.sec.gov/sic/2023" xmlns:exch="http://xbrl.sec.gov/exch/2023" xmlns:country="http://xbrl.sec.gov/country/2023" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21"><head>
	<title>occ20230430_10q.htm</title>


	<!-- Generated by ThunderDome Portal - 6/7/2023 11:40: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_2022-11-01_2023-04-30" name="dei:EntityCentralIndexKey">0001000230</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2022-11-01_2023-04-30" name="dei:AmendmentFlag">false</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2022-11-01_2023-04-30" name="dei:CurrentFiscalYearEndDate">--10-31</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2022-11-01_2023-04-30" name="dei:DocumentFiscalYearFocus">2023</ix:nonNumeric>
<ix:nonNumeric contextRef="d_2022-11-01_2023-04-30" name="dei:DocumentFiscalPeriodFocus">FY</ix:nonNumeric>
<ix:nonFraction id="c762" contextRef="d_2022-02-01_2022-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember" unitRef="Pure" name="occ:ConcentrationRiskNumberOfCustomers" scale="0" format="ixt:numdotdecimal" decimals="INF">1</ix:nonFraction>
<ix:nonFraction id="c755" contextRef="d_2023-02-01_2023-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember" unitRef="Pure" name="occ:ConcentrationRiskNumberOfCustomers" scale="0" format="ixt:numdotdecimal" decimals="INF">1</ix:nonFraction>
<ix:nonFraction id="c754" contextRef="d_2022-11-01_2023-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember" unitRef="Pure" name="occ:ConcentrationRiskNumberOfCustomers" scale="0" format="ixt:numdotdecimal" decimals="INF">1</ix:nonFraction>
<ix:nonFraction id="c595" contextRef="d_2023-02-01_2023-04-30" unitRef="USD" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" scale="0" format="ixt:numdotdecimal" decimals="-3">0</ix:nonFraction>
<ix:nonNumeric contextRef="i_2023-04-30_LeaseContractualTermAxis-OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember" name="us-gaap:LesseeOperatingLeaseTermOfContract" id="c543" 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="c490" format="ixt-sec:duryear">1</ix:nonNumeric>
<ix:nonFraction id="c84" contextRef="i_2022-10-31" unitRef="Share" name="us-gaap:PreferredStockSharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="-3">0</ix:nonFraction>
<ix:nonFraction id="c83" contextRef="i_2023-04-30" unitRef="Share" name="us-gaap:PreferredStockSharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="-3">0</ix:nonFraction>
<ix:nonFraction id="c82" contextRef="i_2022-10-31" unitRef="Share" name="us-gaap:PreferredStockSharesIssued" scale="0" format="ixt:numdotdecimal" decimals="-3">0</ix:nonFraction>
<ix:nonFraction id="c81" contextRef="i_2023-04-30" unitRef="Share" name="us-gaap:PreferredStockSharesIssued" scale="0" format="ixt:numdotdecimal" decimals="-3">0</ix:nonFraction>
<ix:nonFraction id="c78" contextRef="i_2022-10-31" unitRef="USDPerShare" name="us-gaap:PreferredStockNoParValue" scale="0" format="ixt:numdotdecimal" decimals="-3">0</ix:nonFraction>
<ix:nonFraction id="c77" contextRef="i_2023-04-30" unitRef="USDPerShare" name="us-gaap:PreferredStockNoParValue" scale="0" format="ixt:numdotdecimal" decimals="-3">0</ix:nonFraction></ix:hidden>
<ix:references>
<link:schemaRef xlink:href="occ-20230430.xsd" xlink:type="simple"></link:schemaRef></ix:references>
<ix:resources>
<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:unit id="USD"><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unit>
<xbrli:context id="d_2022-11-01_2023-04-30_UnusualOrInfrequentItemAxis-WaterDamageFromPipeBurstMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:UnusualOrInfrequentItemAxis">occ:WaterDamageFromPipeBurstMember</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"><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="d_2021-11-01_2022-04-30"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-11-01</xbrli:startDate><xbrli:endDate>2022-04-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-02-01_2022-04-30"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-01</xbrli:startDate><xbrli:endDate>2022-04-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="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_2021-11-01_2022-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>2021-11-01</xbrli:startDate><xbrli:endDate>2022-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_2022-02-01_2022-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-02-01</xbrli:startDate><xbrli:endDate>2022-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_2021-11-01_2022-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>2021-11-01</xbrli:startDate><xbrli:endDate>2022-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_2022-02-01_2022-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-02-01</xbrli:startDate><xbrli:endDate>2022-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="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:unit id="Pure"><xbrli:measure>xbrli:pure</xbrli:measure></xbrli:unit>
<xbrli:context id="d_2022-02-01_2022-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-02-01</xbrli:startDate><xbrli:endDate>2022-04-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-11-01_2022-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>2021-11-01</xbrli:startDate><xbrli:endDate>2022-04-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-02-01_2022-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-02-01</xbrli:startDate><xbrli:endDate>2022-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_2022-11-01_2023-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-CustomerOneMember"><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:CustomerOneMember</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-CustomerOneMember"><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:CustomerOneMember</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: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-02-01_2023-04-30"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-02-01</xbrli:startDate><xbrli:endDate>2023-04-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-10-31_BalanceSheetLocationAxis-OtherNoncurrentLiabilitiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherNoncurrentLiabilitiesMember</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_BalanceSheetLocationAxis-AccountsPayableAndAccruedLiabilitiesCurrentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">occ:AccountsPayableAndAccruedLiabilitiesCurrentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-10-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-04-30_BalanceSheetLocationAxis-OtherNoncurrentLiabilitiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherNoncurrentLiabilitiesMember</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_BalanceSheetLocationAxis-AccountsPayableAndAccruedLiabilitiesCurrentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">occ:AccountsPayableAndAccruedLiabilitiesCurrentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-10-31_BalanceSheetLocationAxis-OtherAssetsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-10-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-04-30_BalanceSheetLocationAxis-OtherAssetsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-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>2022-10-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-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>2023-04-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-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>2023-04-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:unit id="Year"><xbrli:measure>utr:Y</xbrli:measure></xbrli:unit>
<xbrli:context id="i_2023-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>2023-04-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:unit id="SquareFoot"><xbrli:measure>utr:sqft</xbrli:measure></xbrli:unit>
<xbrli:context id="i_2023-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>2023-04-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-10-31_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-PinnacleFinancialPartnersMember"><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:PinnacleFinancialPartnersMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-10-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-PinnacleFinancialPartnersMember"><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:PinnacleFinancialPartnersMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-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_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:instant>2023-04-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-11-01_2023-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember_VariableRateAxis-PrimeRateMember"><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="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</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_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>2023-04-30</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="i_2022-10-31_LongtermDebtTypeAxis-NorthCarolinaRealEstateLoanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">occ:NorthCarolinaRealEstateLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-10-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-04-30_LongtermDebtTypeAxis-NorthCarolinaRealEstateLoanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">occ:NorthCarolinaRealEstateLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:unit id="NonApplicable"><xbrli:measure>thunderdome:item</xbrli:measure></xbrli:unit>
<xbrli:context id="d_2021-11-01_2022-10-31_LongtermDebtTypeAxis-NorthCarolinaRealEstateLoanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">occ:NorthCarolinaRealEstateLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-11-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-11-01_2023-04-30_LongtermDebtTypeAxis-NorthCarolinaRealEstateLoanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">occ:NorthCarolinaRealEstateLoanMember</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_2022-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>2022-10-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-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>2023-04-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-11-01_2022-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>2021-11-01</xbrli:startDate><xbrli:endDate>2022-10-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-11-01_2023-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>2022-11-01</xbrli:startDate><xbrli:endDate>2023-04-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-04-30_LineOfCreditFacilityAxis-PinnacleFinancialPartnersMember_LongtermDebtTypeAxis-VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">occ:PinnacleFinancialPartnersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">occ:VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-04-30"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-04-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-10-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-10-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2023-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>2023-04-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-11-01_2023-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>2022-11-01</xbrli:startDate><xbrli:endDate>2023-04-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-11-01_2022-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>2021-11-01</xbrli:startDate><xbrli:endDate>2022-04-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-02-01_2022-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-02-01</xbrli:startDate><xbrli:endDate>2022-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="i_2023-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>2023-04-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-11-01_2022-04-30_LineOfCreditFacilityAxis-PinnacleFinancialPartnersMember_LongtermDebtTypeAxis-VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">occ:PinnacleFinancialPartnersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">occ:VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-11-01</xbrli:startDate><xbrli:endDate>2022-04-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-11-01_2023-04-30_LineOfCreditFacilityAxis-PinnacleFinancialPartnersMember_LongtermDebtTypeAxis-VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">occ:PinnacleFinancialPartnersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">occ:VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember</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_2022-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>2022-04-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-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>2022-04-30</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-02-01_2022-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>2022-02-01</xbrli:startDate><xbrli:endDate>2022-04-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2022-02-01_2022-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>2022-02-01</xbrli:startDate><xbrli:endDate>2022-04-30</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-01-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-01-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-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>2022-01-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2022-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>2022-01-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-11-01_2022-01-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-11-01</xbrli:startDate><xbrli:endDate>2022-01-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-11-01_2022-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>2021-11-01</xbrli:startDate><xbrli:endDate>2022-01-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="d_2021-11-01_2022-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>2021-11-01</xbrli:startDate><xbrli:endDate>2022-01-31</xbrli:endDate></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-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>2021-10-31</xbrli:instant></xbrli:period></xbrli:context>
<xbrli:context id="i_2021-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>2021-10-31</xbrli:instant></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"><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="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_2023-06-07"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001000230</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-06-07</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="f03523989-480e-405f-851c-ac104fc94852" fromRefs="c680 c679"></ix:relationship></ix:resources>
</ix:header></div>
<div>&#xa0;</div>

<div>
<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;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;">&#xa0;</p>

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

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

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><ix:nonNumeric contextRef="d_2022-11-01_2023-04-30" name="dei:DocumentQuarterlyReport" id="c3" format="ixt-sec:boolballotbox">&#x2612;</ix:nonNumeric></b>&#xa0; &#xa0; &#xa0; &#xa0; &#xa0;<b>QUARTERLY REPORT PURSUANT TO SECTION</b>&#xa0;<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;">&#xa0;</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_2022-11-01_2023-04-30" name="dei:DocumentPeriodEndDate" id="c4" format="ixt:datemonthdayyearen">April 30, 2023</ix:nonNumeric></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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;">&#xa0;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><ix:nonNumeric contextRef="d_2022-11-01_2023-04-30" name="dei:DocumentTransitionReport" id="c5" format="ixt-sec:boolballotbox">&#x2610;</ix:nonNumeric></b>&#xa0; &#xa0; &#xa0; &#xa0; &#xa0;<b>TRANSITION REPORT PURSUANT TO SECTION</b>&#xa0;<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;">&#xa0;</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;">&#xa0;</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_2022-11-01_2023-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;">&#xa0;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><ix:nonNumeric contextRef="d_2022-11-01_2023-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;margin:0pt;">&#xa0;</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;">&#xa0;</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_2022-11-01_2023-04-30" name="dei:EntityIncorporationStateCountryCode" id="c8" format="ixt-sec:stateprovnameen">Virginia</ix:nonNumeric></b></td>
			<td style="width: 50%; text-align: center;"><ix:nonNumeric contextRef="d_2022-11-01_2023-04-30" name="dei:EntityTaxIdentificationNumber" id="c9">54-1237042</ix:nonNumeric></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;">&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><ix:nonNumeric contextRef="d_2022-11-01_2023-04-30" name="dei:EntityAddressAddressLine1" id="c10">5290 Concourse Drive</ix:nonNumeric></b><br />
<b><ix:nonNumeric contextRef="d_2022-11-01_2023-04-30" name="dei:EntityAddressCityOrTown" id="c11">Roanoke</ix:nonNumeric>, <ix:nonNumeric contextRef="d_2022-11-01_2023-04-30" name="dei:EntityAddressStateOrProvince" id="c12" format="ixt-sec:stateprovnameen">Virginia</ix:nonNumeric> <ix:nonNumeric contextRef="d_2022-11-01_2023-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;">&#xa0;</p>

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

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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;">&#xa0;</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_2022-11-01_2023-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_2022-11-01_2023-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_2022-11-01_2023-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;">&#xa0;</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) has filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2) has been subject to such filing requirements for the past 90 days. (1) <ix:nonNumeric contextRef="d_2022-11-01_2023-04-30" name="dei:EntityCurrentReportingStatus" id="c19">Yes</ix:nonNumeric> &#x2612; No &#x2610;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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 (&#xa7;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_2022-11-01_2023-04-30" name="dei:EntityInteractiveDataCurrent" id="c20">Yes</ix:nonNumeric> &#x2612; No &#x2610;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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 &#x201c;large accelerated filer,&#x201d; &#x201c;accelerated filer,&#x201d; &#x201c;smaller reporting company&#x201d; and &#x201c;emerging growth company&#x201d; 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;">&#xa0;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;text-indent:25pt;">Large Accelerated Filer &#x2610; Accelerated Filer &#x2610; <ix:nonNumeric contextRef="d_2022-11-01_2023-04-30" name="dei:EntityFilerCategory" id="c21" format="ixt-sec:entityfilercategoryen">Non-accelerated Filer</ix:nonNumeric> &#x2610; Smaller Reporting Company <ix:nonNumeric contextRef="d_2022-11-01_2023-04-30" name="dei:EntitySmallBusiness" id="c22" format="ixt-sec:boolballotbox">&#x2612;</ix:nonNumeric></p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;text-indent:25pt;">Emerging Growth Company <ix:nonNumeric contextRef="d_2022-11-01_2023-04-30" name="dei:EntityEmergingGrowthCompany" id="c23" format="ixt-sec:boolballotbox">&#x2610;</ix:nonNumeric></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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. &#x2610;</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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).&#xa0;&#xa0;&#xa0;&#xa0;Yes&#xa0;<ix:nonNumeric contextRef="d_2022-11-01_2023-04-30" name="dei:EntityShellCompany" id="c24" format="ixt-sec:boolballotbox">&#x2610;</ix:nonNumeric>&#xa0;&#xa0;&#xa0;&#xa0;No&#xa0;&#x2612;</p>

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

<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-indent: 25pt;">As of June 7, 2023, <ix:nonFraction id="c25" contextRef="i_2023-06-07" unitRef="Share" name="dei:EntityCommonStockSharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF">7,865,121</ix:nonFraction> shares of the registrant&#x2019;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;">&#xa0;</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">&#xa0;</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-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a></div>
</div>
</div>
</div>

<div>&#xa0;</div>

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

<div>&#xa0;</div>

<div>
<p style="font-family: &quot;Times New Roman&quot;; 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;text-align:center;margin:0pt;">Form 10-Q Index</p>

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

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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%;">&#xa0;</td>
			<td colspan="2" style="vertical-align: top; width: 6%;">&#xa0;</td>
			<td style="vertical-align: top; width: 5%; text-align: right;"><b>Page</b></td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8%;">&#xa0;</td>
			<td colspan="2" style="vertical-align: top; width: 6%;">&#xa0;</td>
			<td style="vertical-align: top; width: 5%;">&#xa0;</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;"><a href="#p1" style="-sec-extract:exhibit;"><b>PART I.</b></a></p>
			</td>
			<td colspan="2" rowspan="1" style="vertical-align: top; width: 6%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><a href="#p1" style="-sec-extract:exhibit;"><b>FINANCIAL INFORMATION</b></a></p>
			</td>
			<td style="vertical-align: top; width: 5%;">&#xa0;</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8%;">&#xa0;</td>
			<td style="vertical-align: top; width: 6%;">&#xa0;</td>
			<td style="vertical-align: top; width: 81%;">&#xa0;</td>
			<td style="vertical-align: top; width: 5%;">&#xa0;</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8%;">&#xa0;</td>
			<td style="vertical-align: top; width: 6%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><a href="#item1" style="-sec-extract:exhibit;"><b>Item</b>&#xa0;<b>1.</b></a></p>
			</td>
			<td style="vertical-align: top; width: 81%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><a href="#item1" style="-sec-extract:exhibit;"><b>Financial Statements (unaudited)</b></a></p>
			</td>
			<td style="vertical-align: top; width: 5%;">&#xa0;</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8%;">&#xa0;</td>
			<td style="vertical-align: top; width: 6%;">&#xa0;</td>
			<td style="vertical-align: top; width: 81%;">&#xa0;</td>
			<td style="vertical-align: top; width: 5%;">&#xa0;</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;">&#xa0;</p>
			</td>
			<td style="vertical-align: top; width: 6%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
			</td>
			<td style="vertical-align: top; width: 81%;"><a href="#bs" style="-sec-extract:exhibit;">Condensed Consolidated Balance Sheets&#xa0;&#x2013;&#xa0;April 30, 2023 and October&#xa0;31, 2022</a></td>
			<td style="vertical-align: top; width: 5%; text-align: right;"><a class="tocPGNUM" href="#bs">2</a></td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8%;">&#xa0;</td>
			<td style="vertical-align: top; width: 6%;">&#xa0;</td>
			<td style="vertical-align: top; width: 81%;">&#xa0;</td>
			<td style="vertical-align: top; width: 5%; text-align: right;">&#xa0;</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;">&#xa0;</p>
			</td>
			<td style="vertical-align: top; width: 6%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
			</td>
			<td style="vertical-align: top; width: 81%;"><a href="#ops" style="-sec-extract:exhibit;">Condensed Consolidated Statements of Operations&#xa0;&#x2013;&#xa0;Three Months and Six Months Ended April 30, 2023 and 2022</a></td>
			<td style="vertical-align: top; width: 5%; text-align: right;"><a class="tocPGNUM" href="#ops">3</a></td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8%;">&#xa0;</td>
			<td style="vertical-align: top; width: 6%;">&#xa0;</td>
			<td style="vertical-align: top; width: 81%;">&#xa0;</td>
			<td style="vertical-align: top; width: 5%; text-align: right;">&#xa0;</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;">&#xa0;</p>
			</td>
			<td style="vertical-align: top; width: 6%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
			</td>
			<td style="vertical-align: top; width: 81%;"><a href="#equity" style="-sec-extract:exhibit;">Condensed Consolidated Statements of Shareholders&#x2019;&#xa0;Equity&#xa0;&#x2013;&#xa0;Three Months and Six Months Ended April 30, 2023 and 2022</a></td>
			<td style="vertical-align: top; width: 5%; text-align: right;"><a class="tocPGNUM" href="#equity">4</a></td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8%;">&#xa0;</td>
			<td style="vertical-align: top; width: 6%;">&#xa0;</td>
			<td style="vertical-align: top; width: 81%;">&#xa0;</td>
			<td style="vertical-align: top; width: 5%; text-align: right;">&#xa0;</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;">&#xa0;</p>
			</td>
			<td style="vertical-align: top; width: 6%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
			</td>
			<td style="vertical-align: top; width: 81%;"><a href="#cf" style="-sec-extract:exhibit;">Condensed Consolidated Statements of Cash Flows&#xa0;&#x2013;Six Months Ended April 30, 2023 and 2022</a></td>
			<td style="vertical-align: top; width: 5%; text-align: right;"><a class="tocPGNUM" href="#cf">5</a></td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8%;">&#xa0;</td>
			<td style="vertical-align: top; width: 6%;">&#xa0;</td>
			<td style="vertical-align: top; width: 81%;">&#xa0;</td>
			<td style="vertical-align: top; width: 5%; text-align: right;">&#xa0;</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;">&#xa0;</p>
			</td>
			<td style="vertical-align: top; width: 6%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</p>
			</td>
			<td style="vertical-align: top; width: 81%;"><a href="#notes" style="-sec-extract:exhibit;">Condensed Notes to Condensed Consolidated Financial Statements</a></td>
			<td style="vertical-align: top; width: 5%; text-align: right;"><a class="tocPGNUM" href="#notes">6</a></td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8%;">&#xa0;</td>
			<td style="vertical-align: top; width: 6%;">&#xa0;</td>
			<td style="vertical-align: top; width: 81%;">&#xa0;</td>
			<td style="vertical-align: top; width: 5%; text-align: right;">&#xa0;</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8%;">&#xa0;</td>
			<td style="vertical-align: top; width: 6%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><a href="#mda" style="-sec-extract:exhibit;"><b>Item</b>&#xa0;<b>2.</b></a></p>
			</td>
			<td style="vertical-align: top; width: 81%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><a href="#mda" style="-sec-extract:exhibit;"><b>Management</b>&#x2019;<b>s Discussion and Analysis of Financial Condition and Results of Operations</b></a></p>
			</td>
			<td style="vertical-align: top; width: 5%; text-align: right;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><a class="tocPGNUM" href="#mda">15</a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8%;">&#xa0;</td>
			<td style="vertical-align: top; width: 6%;">&#xa0;</td>
			<td style="vertical-align: top; width: 81%;">&#xa0;</td>
			<td style="vertical-align: top; width: 5%; text-align: right;">&#xa0;</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8%;">&#xa0;</td>
			<td style="vertical-align: top; width: 6%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><a href="#cp" style="-sec-extract:exhibit;"><b>Item</b>&#xa0;<b>4.</b></a></p>
			</td>
			<td style="vertical-align: top; width: 81%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><a href="#cp" style="-sec-extract:exhibit;"><b>Controls and Procedures</b></a></p>
			</td>
			<td style="vertical-align: top; width: 5%; text-align: right;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><a class="tocPGNUM" href="#cp">29</a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8%;">&#xa0;</td>
			<td colspan="2" style="vertical-align: top; width: 6%;">&#xa0;</td>
			<td style="vertical-align: top; width: 5%;">&#xa0;</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;"><a href="#p2" style="-sec-extract:exhibit;"><b>PART II.</b></a></p>
			</td>
			<td colspan="2" rowspan="1" style="vertical-align: top; width: 6%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><a href="#p2" style="-sec-extract:exhibit;"><b>OTHER INFORMATION</b></a></p>
			</td>
			<td style="vertical-align: top; width: 5%;">&#xa0;</td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8%;">&#xa0;</td>
			<td colspan="2" style="vertical-align: top; width: 6%;">&#xa0;</td>
			<td style="vertical-align: top; width: 5%;">&#xa0;</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;">&#xa0;</p>
			</td>
			<td style="vertical-align: top; width: 6%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><a href="#other" style="-sec-extract:exhibit;"><b>Item 5.</b></a></p>
			</td>
			<td style="vertical-align: top; width: 81%;"><a href="#other" style="-sec-extract:exhibit;"><b>Other Information</b></a></td>
			<td style="vertical-align: top; width: 5%; padding: 0pt; text-align: right;"><a class="tocPGNUM" href="#other">30</a></td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8%;">&#xa0;</td>
			<td style="vertical-align: top; width: 6%;">&#xa0;</td>
			<td style="vertical-align: top; width: 81%;">&#xa0;</td>
			<td style="vertical-align: top; width: 5%; padding: 0pt; text-align: right;">&#xa0;</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;">&#xa0;</p>
			</td>
			<td style="vertical-align: top; width: 6%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><a href="#exs" style="-sec-extract:exhibit;"><b>Item</b>&#xa0;<b>6.</b></a></p>
			</td>
			<td style="vertical-align: top; width: 81%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><a href="#exs" style="-sec-extract:exhibit;"><b>Exhibits</b></a></p>
			</td>
			<td style="vertical-align: top; width: 5%; padding: 0pt; text-align: right;"><a class="tocPGNUM" href="#exs">31</a></td>
		</tr>
		<tr>
			<td style="vertical-align: top; width: 8%;">&#xa0;</td>
			<td style="vertical-align: top; width: 6%;">&#xa0;</td>
			<td style="vertical-align: top; width: 81%;">&#xa0;</td>
			<td style="vertical-align: top; width: 5%; padding: 0pt; text-align: right;">&#xa0;</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;"><a href="#sigs" style="-sec-extract:exhibit;"><b>SIGNATURES</b></a></p>
			</td>
			<td style="vertical-align: top; width: 81%;">&#xa0;</td>
			<td style="vertical-align: top; width: 5%; padding: 0pt; text-align: right;"><a class="tocPGNUM" href="#sigs">35</a></td>
		</tr>

</tbody></table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a></div>
</div>
</div>
</div>
</div>

<div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">&#xa0;</div>
</div>
</div>

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

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

<div>&#xa0;</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="p1" title="p1" href="#"></a>PART I.</b>&#xa0;<b>&#xa0;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;"><a id="item1" title="item1" href="#"></a>Item 1.&#xa0;&#xa0;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><a id="bs" title="bs" href="#"></a>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;;">&#xa0;</p>

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

		<tbody><tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b><b>April 30,</b></b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b><b>October 31,</b></b> </b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 70%;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">&#xa0;</p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2023</b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2022</b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
		</tr>
		<tr style="background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; text-align: center;"><b>Assets</b></td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">Current assets:</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Cash</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c32" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="0" format="ixt:numdotdecimal" decimals="0">324,994</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c33" contextRef="i_2022-10-31" unitRef="USD" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="0" format="ixt:numdotdecimal" decimals="0">215,936</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Restricted cash</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c34" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:RestrictedCash" scale="0" format="ixt:numdotdecimal" decimals="0">1,517,885</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c35" contextRef="i_2022-10-31" unitRef="USD" name="us-gaap:RestrictedCash" scale="0" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Trade accounts receivable, net of allowance for doubtful accounts of $<ix:nonFraction id="c36" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="0" format="ixt:numdotdecimal" decimals="0">84,602</ix:nonFraction> at April 30, 2023 and $<ix:nonFraction id="c37" contextRef="i_2022-10-31" unitRef="USD" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="0" format="ixt:numdotdecimal" decimals="0">69,643</ix:nonFraction> at October 31, 2022</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c38" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:AccountsReceivableNetCurrent" scale="0" format="ixt:numdotdecimal" decimals="0">11,306,726</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c39" contextRef="i_2022-10-31" unitRef="USD" name="us-gaap:AccountsReceivableNetCurrent" scale="0" format="ixt:numdotdecimal" decimals="0">10,963,753</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Other receivables</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c40" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:OtherReceivables" scale="0" format="ixt:numdotdecimal" decimals="0">73,309</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c41" contextRef="i_2022-10-31" unitRef="USD" name="us-gaap:OtherReceivables" scale="0" format="ixt:numdotdecimal" decimals="0">37,442</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Inventories</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c42" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:InventoryNet" scale="0" format="ixt:numdotdecimal" decimals="0">23,099,964</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c43" contextRef="i_2022-10-31" unitRef="USD" name="us-gaap:InventoryNet" scale="0" format="ixt:numdotdecimal" decimals="0">19,438,766</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Prepaid expenses and other assets</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c44" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="0" format="ixt:numdotdecimal" decimals="0">459,623</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c45" contextRef="i_2022-10-31" unitRef="USD" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="0" format="ixt:numdotdecimal" decimals="0">540,225</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 63pt; text-indent: -9pt;">Total current assets</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c46" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:AssetsCurrent" scale="0" format="ixt:numdotdecimal" decimals="0">36,782,501</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c47" contextRef="i_2022-10-31" unitRef="USD" name="us-gaap:AssetsCurrent" scale="0" format="ixt:numdotdecimal" decimals="0">31,196,122</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c48" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentNet" scale="0" format="ixt:numdotdecimal" decimals="0">7,274,715</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c49" contextRef="i_2022-10-31" unitRef="USD" name="us-gaap:PropertyPlantAndEquipmentNet" scale="0" format="ixt:numdotdecimal" decimals="0">7,390,285</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Intangible assets, net</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c50" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="0" format="ixt:numdotdecimal" decimals="0">593,229</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c51" contextRef="i_2022-10-31" unitRef="USD" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="0" format="ixt:numdotdecimal" decimals="0">618,142</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Other assets, net</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c52" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:OtherAssetsNoncurrent" scale="0" format="ixt:numdotdecimal" decimals="0">1,325,441</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c53" contextRef="i_2022-10-31" unitRef="USD" name="us-gaap:OtherAssetsNoncurrent" scale="0" format="ixt:numdotdecimal" decimals="0">1,353,257</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 63pt; text-indent: -9pt;">Total assets</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c54" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:Assets" scale="0" format="ixt:numdotdecimal" decimals="0">45,975,886</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c55" contextRef="i_2022-10-31" unitRef="USD" name="us-gaap:Assets" scale="0" format="ixt:numdotdecimal" decimals="0">40,557,806</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: center;"><b>Liabilities</b> <b>and</b> <b>Shareholders</b>&#x2019; <b>Equity</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
			<td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
			<td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">Current liabilities:</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Current installments of long-term debt</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c58" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:LoansPayableCurrent" scale="0" format="ixt:numdotdecimal" decimals="0">344,451</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c59" contextRef="i_2022-10-31" unitRef="USD" name="us-gaap:LoansPayableCurrent" scale="0" format="ixt:numdotdecimal" decimals="0">338,094</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Accounts payable and accrued expenses</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c60" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent" scale="0" format="ixt:numdotdecimal" decimals="0">5,255,712</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c61" contextRef="i_2022-10-31" unitRef="USD" name="us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent" scale="0" format="ixt:numdotdecimal" decimals="0">5,354,150</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Accrued compensation and payroll taxes</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c62" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" scale="0" format="ixt:numdotdecimal" decimals="0">1,990,719</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c63" contextRef="i_2022-10-31" unitRef="USD" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" scale="0" format="ixt:numdotdecimal" decimals="0">1,772,551</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Income taxes payable</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c64" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:TaxesPayableCurrent" scale="0" format="ixt:numdotdecimal" decimals="0">73,427</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c65" contextRef="i_2022-10-31" unitRef="USD" name="us-gaap:TaxesPayableCurrent" scale="0" format="ixt:numdotdecimal" decimals="0">18,098</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 63pt; text-indent: -9pt;">Total current liabilities</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c66" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:LiabilitiesCurrent" scale="0" format="ixt:numdotdecimal" decimals="0">7,664,309</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c67" contextRef="i_2022-10-31" unitRef="USD" name="us-gaap:LiabilitiesCurrent" scale="0" format="ixt:numdotdecimal" decimals="0">7,482,893</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c68" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:LongTermLineOfCredit" scale="0" format="ixt:numdotdecimal" decimals="0">8,006,810</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c69" contextRef="i_2022-10-31" unitRef="USD" name="us-gaap:LongTermLineOfCredit" scale="0" format="ixt:numdotdecimal" decimals="0">5,999,663</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c70" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:LongTermLoansPayable" scale="0" format="ixt:numdotdecimal" decimals="0">4,016,555</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c71" contextRef="i_2022-10-31" unitRef="USD" name="us-gaap:LongTermLoansPayable" scale="0" format="ixt:numdotdecimal" decimals="0">4,190,508</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Other noncurrent liabilities</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c72" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:OtherLiabilitiesNoncurrent" scale="0" format="ixt:numdotdecimal" decimals="0">721,594</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c73" contextRef="i_2022-10-31" unitRef="USD" name="us-gaap:OtherLiabilitiesNoncurrent" scale="0" format="ixt:numdotdecimal" decimals="0">725,024</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 63pt; text-indent: -9pt;">Total liabilities</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c74" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:Liabilities" scale="0" format="ixt:numdotdecimal" decimals="0">20,409,268</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c75" contextRef="i_2022-10-31" unitRef="USD" name="us-gaap:Liabilities" scale="0" format="ixt:numdotdecimal" decimals="0">18,398,088</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">Shareholders&#x2019; equity:</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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_2023-04-30" unitRef="Share" name="us-gaap:PreferredStockSharesAuthorized" scale="0" format="ixt:numdotdecimal" decimals="INF"><ix:nonFraction id="c80" contextRef="i_2022-10-31" unitRef="Share" name="us-gaap:PreferredStockSharesAuthorized" scale="0" format="ixt:numdotdecimal" 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;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c85" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:PreferredStockValue" scale="0" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c86" contextRef="i_2022-10-31" unitRef="USD" name="us-gaap:PreferredStockValue" scale="0" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Common stock, <ix:nonFraction id="c87" contextRef="i_2022-10-31" unitRef="USDPerShare" name="us-gaap:CommonStockNoParValue" scale="0" format="ixt-sec:numwordsen" decimals="-3"><ix:nonFraction id="c88" contextRef="i_2023-04-30" unitRef="USDPerShare" name="us-gaap:CommonStockNoParValue" scale="0" format="ixt-sec:numwordsen" decimals="-3">no</ix:nonFraction></ix:nonFraction> par value, authorized <ix:nonFraction id="c89" contextRef="i_2022-10-31" unitRef="Share" name="us-gaap:CommonStockSharesAuthorized" scale="0" format="ixt:numdotdecimal" decimals="INF"><ix:nonFraction id="c90" contextRef="i_2023-04-30" unitRef="Share" name="us-gaap:CommonStockSharesAuthorized" scale="0" format="ixt:numdotdecimal" decimals="INF">50,000,000</ix:nonFraction></ix:nonFraction> shares; issued and outstanding <ix:nonFraction id="c91" contextRef="i_2023-04-30" unitRef="Share" name="us-gaap:CommonStockSharesIssued" scale="0" format="ixt:numdotdecimal" decimals="INF"><ix:nonFraction id="c92" contextRef="i_2023-04-30" unitRef="Share" name="us-gaap:CommonStockSharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF">7,865,121</ix:nonFraction></ix:nonFraction> shares at April 30, 2023 and <ix:nonFraction id="c93" contextRef="i_2022-10-31" unitRef="Share" name="us-gaap:CommonStockSharesIssued" scale="0" format="ixt:numdotdecimal" decimals="INF"><ix:nonFraction id="c94" contextRef="i_2022-10-31" unitRef="Share" name="us-gaap:CommonStockSharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF">7,893,194</ix:nonFraction></ix:nonFraction> shares at October 31, 2022</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c95" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:CommonStockValue" scale="0" format="ixt:numdotdecimal" decimals="0">14,812,334</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c96" contextRef="i_2022-10-31" unitRef="USD" name="us-gaap:CommonStockValue" scale="0" format="ixt:numdotdecimal" decimals="0">14,638,505</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Retained earnings</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c97" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="0" format="ixt:numdotdecimal" decimals="0">10,754,284</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c98" contextRef="i_2022-10-31" unitRef="USD" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="0" format="ixt:numdotdecimal" decimals="0">7,521,213</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 63pt; text-indent: -9pt;">Total shareholders&#x2019; equity</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c99" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="0" format="ixt:numdotdecimal" decimals="0">25,566,618</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c100" contextRef="i_2022-10-31" unitRef="USD" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="0" format="ixt:numdotdecimal" decimals="0">22,159,718</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Commitments and contingencies</p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<ix:nonFraction id="c102" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:CommitmentsAndContingencies" scale="0" xsi:nil="true"></ix:nonFraction>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<ix:nonFraction id="c103" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:CommitmentsAndContingencies" scale="0" xsi:nil="true"></ix:nonFraction>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 63pt; text-indent: -9pt;">Total liabilities and shareholders&#x2019; equity</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c104" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="0" format="ixt:numdotdecimal" decimals="0">45,975,886</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c105" contextRef="i_2022-10-31" unitRef="USD" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="0" format="ixt:numdotdecimal" decimals="0">40,557,806</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
		</tr>

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

<p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">&#xa0;</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;">&#xa0;</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-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">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">&#xa0;</p>

<div>&#xa0;</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: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;;">&#xa0;</p>

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

		<tbody><tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b><b>Three Months Ended</b></b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Six Months Ended</b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b><b>April 30,</b></b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>April 30,</b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b><b>2023</b></b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b><b>2022</b></b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2023</b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2022</b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Net sales</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; 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:numdotdecimal" decimals="0">19,619,536</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c109" contextRef="d_2022-02-01_2022-04-30" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="0" format="ixt:numdotdecimal" decimals="0">17,200,578</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; 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:numdotdecimal" decimals="0">37,903,211</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c111" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="0" format="ixt:numdotdecimal" decimals="0">31,640,873</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; 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:numdotdecimal" decimals="0">12,836,830</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c113" contextRef="d_2022-02-01_2022-04-30" unitRef="USD" name="us-gaap:CostOfGoodsAndServicesSold" scale="0" format="ixt:numdotdecimal" decimals="0">12,167,132</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; 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:numdotdecimal" decimals="0">24,599,296</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c115" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:CostOfGoodsAndServicesSold" scale="0" format="ixt:numdotdecimal" decimals="0">22,561,575</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; 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:numdotdecimal" decimals="0">6,782,706</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c117" contextRef="d_2022-02-01_2022-04-30" unitRef="USD" name="us-gaap:GrossProfit" scale="0" format="ixt:numdotdecimal" decimals="0">5,033,446</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; 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:numdotdecimal" decimals="0">13,303,915</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c119" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:GrossProfit" scale="0" format="ixt:numdotdecimal" decimals="0">9,079,298</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; 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:numdotdecimal" decimals="0">5,662,339</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c121" contextRef="d_2022-02-01_2022-04-30" unitRef="USD" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="0" format="ixt:numdotdecimal" decimals="0">5,036,331</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; 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:numdotdecimal" decimals="0">11,117,805</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c123" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="0" format="ixt:numdotdecimal" decimals="0">9,816,530</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Royalty expense, net</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; 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:numdotdecimal" decimals="0" sign="-">6,572</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c125" contextRef="d_2022-02-01_2022-04-30" unitRef="USD" name="occ:RoyaltyRevenueExpense" scale="0" format="ixt:numdotdecimal" decimals="0" sign="-">6,586</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; 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:numdotdecimal" decimals="0" sign="-">13,158</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c127" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="occ:RoyaltyRevenueExpense" scale="0" format="ixt:numdotdecimal" decimals="0" sign="-">13,544</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; 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:numdotdecimal" decimals="0">13,689</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c129" contextRef="d_2022-02-01_2022-04-30" unitRef="USD" name="us-gaap:AmortizationOfIntangibleAssets" scale="0" format="ixt:numdotdecimal" decimals="0">11,540</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; 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:numdotdecimal" decimals="0">26,910</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c131" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:AmortizationOfIntangibleAssets" scale="0" format="ixt:numdotdecimal" decimals="0">23,635</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; 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:numdotdecimal" decimals="0">1,100,106</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c133" contextRef="d_2022-02-01_2022-04-30" unitRef="USD" name="us-gaap:OperatingIncomeLoss" scale="0" format="ixt:numdotdecimal" decimals="0" sign="-">21,011</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; 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:numdotdecimal" decimals="0">2,146,042</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c135" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:OperatingIncomeLoss" scale="0" format="ixt:numdotdecimal" decimals="0" sign="-">774,411</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">Other income (expense), net:</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Interest expense, net</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; 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:numdotdecimal" decimals="0">286,065</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c138" contextRef="d_2022-02-01_2022-04-30" unitRef="USD" name="us-gaap:InterestExpense" scale="0" format="ixt:numdotdecimal" decimals="0">182,531</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; 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:numdotdecimal" decimals="0">556,688</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c140" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:InterestExpense" scale="0" format="ixt:numdotdecimal" decimals="0">340,791</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Gain on insurance proceeds received for damage to property and equipment</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; 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:numdotdecimal" decimals="0">1,696,290</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c142" contextRef="d_2022-02-01_2022-04-30" unitRef="USD" name="us-gaap:UnusualOrInfrequentItemInsuranceProceeds" scale="0" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; 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:numdotdecimal" decimals="0">1,696,290</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c144" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:UnusualOrInfrequentItemInsuranceProceeds" scale="0" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Other, net</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; 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:numdotdecimal" decimals="0" sign="-">12,311</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c146" contextRef="d_2022-02-01_2022-04-30" unitRef="USD" name="us-gaap:OtherNonoperatingIncomeExpense" scale="0" format="ixt:numdotdecimal" decimals="0" sign="-">29,643</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; 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:numdotdecimal" decimals="0">54,824</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c148" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:OtherNonoperatingIncomeExpense" scale="0" format="ixt:numdotdecimal" decimals="0" sign="-">41,028</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; 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:numdotdecimal" decimals="0">1,397,914</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c150" contextRef="d_2022-02-01_2022-04-30" unitRef="USD" name="us-gaap:NonoperatingIncomeExpense" scale="0" format="ixt:numdotdecimal" decimals="0" sign="-">212,174</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; 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:numdotdecimal" decimals="0">1,194,426</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c152" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:NonoperatingIncomeExpense" scale="0" format="ixt:numdotdecimal" decimals="0" sign="-">381,819</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; 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:numdotdecimal" decimals="0">2,498,020</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c154" contextRef="d_2022-02-01_2022-04-30" unitRef="USD" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="0" format="ixt:numdotdecimal" decimals="0" sign="-">233,185</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; 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:numdotdecimal" decimals="0">3,340,468</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c156" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="0" format="ixt:numdotdecimal" decimals="0" sign="-">1,156,230</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Income tax expense (benefit)</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; 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:numdotdecimal" decimals="0">74,933</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c158" contextRef="d_2022-02-01_2022-04-30" unitRef="USD" name="us-gaap:IncomeTaxExpenseBenefit" scale="0" format="ixt:numdotdecimal" decimals="0" sign="-">5,194</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; 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:numdotdecimal" decimals="0">107,397</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c160" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:IncomeTaxExpenseBenefit" scale="0" format="ixt:numdotdecimal" decimals="0">7,554</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; 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:numdotdecimal" decimals="0">2,423,087</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c162" contextRef="d_2022-02-01_2022-04-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="0" format="ixt:numdotdecimal" decimals="0" sign="-">227,991</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; 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:numdotdecimal" decimals="0">3,233,071</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c164" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="0" format="ixt:numdotdecimal" decimals="0" sign="-">1,163,784</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; 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:numdotdecimal" decimals="INF">0.31</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c166" contextRef="d_2022-02-01_2022-04-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareBasic" scale="0" format="ixt:numdotdecimal" decimals="INF" sign="-">0.03</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; 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:numdotdecimal" decimals="INF">0.41</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c168" contextRef="d_2021-11-01_2022-04-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareBasic" scale="0" format="ixt:numdotdecimal" decimals="INF" sign="-">0.16</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
		</tr>

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

<p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">&#xa0;</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;">&#xa0;</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-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">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">&#xa0;</p>

<div>&#xa0;</div>

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

		<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&#x2019;&#xa0;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;;">&#xa0;</p>

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

		<tbody><tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="14" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended April 30, 2023</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
			<td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
			<td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
			<td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Total</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Common Stock</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Retained</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Shareholders&#x2019;</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Shares</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Amount</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Earnings</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Equity</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c171" contextRef="i_2022-10-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF">7,893,194</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c172" contextRef="i_2022-10-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="0" format="ixt:numdotdecimal" decimals="0">14,638,505</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c173" contextRef="i_2022-10-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="0" format="ixt:numdotdecimal" decimals="0">7,521,213</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c174" contextRef="i_2022-10-31" unitRef="USD" name="us-gaap:StockholdersEquity" scale="0" format="ixt:numdotdecimal" decimals="0">22,159,718</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c175" contextRef="d_2022-11-01_2023-01-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation" scale="0" format="ixt:numdotdecimal" decimals="INF">24,626</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c176" contextRef="d_2022-11-01_2023-01-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="0" format="ixt:numdotdecimal" decimals="0">34,322</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c177" contextRef="d_2022-11-01_2023-01-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="0" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c178" contextRef="d_2022-11-01_2023-01-31" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="0" format="ixt:numdotdecimal" decimals="0">34,322</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Net income</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#x2014;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c180" contextRef="d_2022-11-01_2023-01-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="0" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c181" contextRef="d_2022-11-01_2023-01-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="0" format="ixt:numdotdecimal" decimals="0">809,984</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c182" contextRef="d_2022-11-01_2023-01-31" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="0" format="ixt:numdotdecimal" decimals="0">809,984</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c183" contextRef="i_2023-01-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF">7,868,568</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c184" contextRef="i_2023-01-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="0" format="ixt:numdotdecimal" decimals="0">14,672,827</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c185" contextRef="i_2023-01-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="0" format="ixt:numdotdecimal" decimals="0">8,331,197</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c186" contextRef="i_2023-01-31" unitRef="USD" name="us-gaap:StockholdersEquity" scale="0" format="ixt:numdotdecimal" decimals="0">23,004,024</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td>&#xa0;</td>
			<td>&#xa0;</td>
			<td>&#xa0;</td>
			<td>&#xa0;</td>
			<td>&#xa0;</td>
			<td>&#xa0;</td>
			<td>&#xa0;</td>
			<td>&#xa0;</td>
			<td>&#xa0;</td>
			<td>&#xa0;</td>
			<td>&#xa0;</td>
			<td>&#xa0;</td>
			<td>&#xa0;</td>
			<td>&#xa0;</td>
			<td>&#xa0;</td>
			<td>&#xa0;</td>
			<td>&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c187" contextRef="d_2023-02-01_2023-04-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation" scale="0" format="ixt:numdotdecimal" decimals="INF">3,447</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c188" contextRef="d_2023-02-01_2023-04-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="0" format="ixt:numdotdecimal" decimals="0">139,507</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c189" contextRef="d_2023-02-01_2023-04-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="0" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c190" contextRef="d_2023-02-01_2023-04-30" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="0" format="ixt:numdotdecimal" decimals="0">139,507</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Net income</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">&#x2014;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c192" contextRef="d_2023-02-01_2023-04-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="0" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c193" contextRef="d_2023-02-01_2023-04-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="0" format="ixt:numdotdecimal" decimals="0">2,423,087</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c194" contextRef="d_2023-02-01_2023-04-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="0" format="ixt:numdotdecimal" decimals="0">2,423,087</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c195" contextRef="i_2023-04-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF">7,865,121</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c196" contextRef="i_2023-04-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="0" format="ixt:numdotdecimal" decimals="0">14,812,334</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c197" contextRef="i_2023-04-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="0" format="ixt:numdotdecimal" decimals="0">10,754,284</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c198" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:StockholdersEquity" scale="0" format="ixt:numdotdecimal" decimals="0">25,566,618</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
		</tr>

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

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

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

		<tbody><tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="14" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Six Months Ended April 30, 2022</b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
			<td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
			<td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
			<td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Total</b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Common Stock</b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Retained</b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Shareholders</b></b>&#x2019;</b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Shares</b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Amount</b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Earnings</b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Equity</b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 52%;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Balances at October 31, 2021</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c201" contextRef="i_2021-10-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF">7,897,477</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c202" contextRef="i_2021-10-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="0" format="ixt:numdotdecimal" decimals="0">14,337,649</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c203" contextRef="i_2021-10-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="0" format="ixt:numdotdecimal" decimals="0">7,868,304</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c204" contextRef="i_2021-10-31" unitRef="USD" name="us-gaap:StockholdersEquity" scale="0" format="ixt:numdotdecimal" decimals="0">22,205,953</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c205" contextRef="d_2021-11-01_2022-01-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation" scale="0" format="ixt:numdotdecimal" decimals="INF">47,479</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c206" contextRef="d_2021-11-01_2022-01-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="0" format="ixt:numdotdecimal" decimals="0">19,803</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c207" contextRef="d_2021-11-01_2022-01-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="0" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c208" contextRef="d_2021-11-01_2022-01-31" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="0" format="ixt:numdotdecimal" decimals="0">19,803</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Net loss</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 9%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">&#x2014;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 9%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c210" contextRef="d_2021-11-01_2022-01-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="0" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c211" contextRef="d_2021-11-01_2022-01-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="0" format="ixt:numdotdecimal" decimals="0" sign="-">935,793</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c212" contextRef="d_2021-11-01_2022-01-31" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="0" format="ixt:numdotdecimal" decimals="0" sign="-">935,793</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Balances at January 31, 2022</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c213" contextRef="i_2022-01-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF">7,849,998</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c214" contextRef="i_2022-01-31_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="0" format="ixt:numdotdecimal" decimals="0">14,357,452</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c215" contextRef="i_2022-01-31_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="0" format="ixt:numdotdecimal" decimals="0">6,932,511</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c216" contextRef="i_2022-01-31" unitRef="USD" name="us-gaap:StockholdersEquity" scale="0" format="ixt:numdotdecimal" decimals="0">21,289,963</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td>&#xa0;</td>
			<td>&#xa0;</td>
			<td>&#xa0;</td>
			<td>&#xa0;</td>
			<td>&#xa0;</td>
			<td>&#xa0;</td>
			<td>&#xa0;</td>
			<td>&#xa0;</td>
			<td>&#xa0;</td>
			<td>&#xa0;</td>
			<td>&#xa0;</td>
			<td>&#xa0;</td>
			<td>&#xa0;</td>
			<td>&#xa0;</td>
			<td>&#xa0;</td>
			<td>&#xa0;</td>
			<td>&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c217" contextRef="d_2022-02-01_2022-04-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation" scale="0" format="ixt:numdotdecimal" decimals="INF" sign="-">44,864</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c218" contextRef="d_2022-02-01_2022-04-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="0" format="ixt:numdotdecimal" decimals="0">113,212</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c219" contextRef="d_2022-02-01_2022-04-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="0" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c220" contextRef="d_2022-02-01_2022-04-30" unitRef="USD" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="0" format="ixt:numdotdecimal" decimals="0">113,212</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Net loss</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 9%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">&#x2014;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 9%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c222" contextRef="d_2022-02-01_2022-04-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="0" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c223" contextRef="d_2022-02-01_2022-04-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="0" format="ixt:numdotdecimal" decimals="0" sign="-">227,991</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c224" contextRef="d_2022-02-01_2022-04-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="0" format="ixt:numdotdecimal" decimals="0" sign="-">227,991</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Balances at April 30, 2022</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c225" contextRef="i_2022-04-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="Share" name="us-gaap:SharesOutstanding" scale="0" format="ixt:numdotdecimal" decimals="INF">7,894,862</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c226" contextRef="i_2022-04-30_StatementEquityComponentsAxis-CommonStockMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="0" format="ixt:numdotdecimal" decimals="0">14,470,664</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c227" contextRef="i_2022-04-30_StatementEquityComponentsAxis-RetainedEarningsMember" unitRef="USD" name="us-gaap:StockholdersEquity" scale="0" format="ixt:numdotdecimal" decimals="0">6,704,520</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c228" contextRef="i_2022-04-30" unitRef="USD" name="us-gaap:StockholdersEquity" scale="0" format="ixt:numdotdecimal" decimals="0">21,175,184</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
		</tr>

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

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

<table border="0" cellpadding="0" cellspacing="0" style="font-family: &quot;Times New Roman&quot;; 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;">&#xa0;</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-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">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">&#xa0;</p>

<div>&#xa0;</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="11" 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="11" 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="11" 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;;">&#xa0;</p>

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

		<tbody><tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b><b>Six Months Ended</b></b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b><b>April 30,</b></b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b><b>2023</b></b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b><b>2022</b></b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 70%;">Cash flows from operating activities:</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt; text-indent: -9pt;">Net income (loss)</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c232" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="0" format="ixt:numdotdecimal" decimals="0">3,233,071</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c233" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="0" format="ixt:numdotdecimal" decimals="0" sign="-">1,163,784</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-left: 9pt;">Adjustments to reconcile net income (loss) to net cash used in operating activities:</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 36pt; text-indent: -9pt;">Depreciation and amortization</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c235" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:DepreciationDepletionAndAmortization" scale="0" format="ixt:numdotdecimal" decimals="0">496,661</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c236" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:DepreciationDepletionAndAmortization" scale="0" format="ixt:numdotdecimal" decimals="0">569,257</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 36pt; text-indent: -9pt;">Bad debt expense</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c237" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:ProvisionForDoubtfulAccounts" scale="0" format="ixt:numdotdecimal" decimals="0">14,959</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c238" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:ProvisionForDoubtfulAccounts" scale="0" format="ixt:numdotdecimal" decimals="0">18,038</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 36pt; text-indent: -9pt;">Share-based compensation expense</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c239" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:ShareBasedCompensation" scale="0" format="ixt:numdotdecimal" decimals="0">289,680</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c240" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:ShareBasedCompensation" scale="0" format="ixt:numdotdecimal" decimals="0">237,651</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 36pt; text-indent: -9pt;">Gain on insurance proceeds received for damage to property and equipment</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c241" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:UnusualOrInfrequentItemInsuranceProceeds" scale="0" format="ixt:numdotdecimal" decimals="0">1,696,290</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c242" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:UnusualOrInfrequentItemInsuranceProceeds" scale="0" format="ixt:zerodash" decimals="-3" sign="-">&#x2014;</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 36pt; text-indent: -9pt;">Loss on sale of property and equipment</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c243" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" scale="0" format="ixt:numdotdecimal" decimals="0" sign="-">10,307</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c244" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" scale="0" format="ixt:numdotdecimal" decimals="0" sign="-">31,905</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-left: 9pt; text-indent: 18pt;">(Increase) decrease in:</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 45pt; text-indent: -9pt;">Trade accounts receivable</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c246" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="0" format="ixt:numdotdecimal" decimals="0">357,932</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c247" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="0" format="ixt:numdotdecimal" decimals="0">2,193,887</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 45pt; text-indent: -9pt;">Other receivables</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c248" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInOtherReceivables" scale="0" format="ixt:numdotdecimal" decimals="0">35,867</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c249" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInOtherReceivables" scale="0" format="ixt:numdotdecimal" decimals="0" sign="-">21,647</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 45pt; text-indent: -9pt;">Inventories</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c250" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInInventories" scale="0" format="ixt:numdotdecimal" decimals="0">3,661,198</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c251" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInInventories" scale="0" format="ixt:numdotdecimal" decimals="0">2,342,183</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 45pt; text-indent: -9pt;">Prepaid expenses and other assets</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c252" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="0" format="ixt:numdotdecimal" decimals="0" sign="-">80,602</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c253" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="0" format="ixt:numdotdecimal" decimals="0" sign="-">100,399</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 45pt; text-indent: -9pt;">Other assets</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c254" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" scale="0" format="ixt:numdotdecimal" decimals="0">103,560</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c255" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" scale="0" format="ixt:numdotdecimal" decimals="0" sign="-">193,872</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-left: 9pt; text-indent: 18pt;">Increase (decrease) in:</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 45pt; text-indent: -9pt;">Accounts payable and accrued expenses</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c257" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" scale="0" format="ixt:numdotdecimal" decimals="0" sign="-">102,154</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c258" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" scale="0" format="ixt:numdotdecimal" decimals="0">1,932,023</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 45pt; text-indent: -9pt;">Accrued compensation and payroll taxes</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c259" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities" scale="0" format="ixt:numdotdecimal" decimals="0">218,168</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c260" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities" scale="0" format="ixt:numdotdecimal" decimals="0">276,170</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 45pt; text-indent: -9pt;">Income taxes payable</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c261" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable" scale="0" format="ixt:numdotdecimal" decimals="0">55,329</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c262" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable" scale="0" format="ixt:numdotdecimal" decimals="0">3,790</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 45pt; text-indent: -9pt;">Other noncurrent liabilities</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c263" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities" scale="0" format="ixt:numdotdecimal" decimals="0">65,078</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c264" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities" scale="0" format="ixt:numdotdecimal" decimals="0" sign="-">712,902</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 54pt; text-indent: -9pt;">Net cash used in operating activities</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c265" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="0" format="ixt:numdotdecimal" decimals="0" sign="-">1,493,146</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c266" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="0" format="ixt:numdotdecimal" decimals="0" sign="-">3,028,004</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">Cash flows from investing activities:</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c268" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="0" format="ixt:numdotdecimal" decimals="0">230,252</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c269" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="0" format="ixt:numdotdecimal" decimals="0">100,313</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Insurance proceeds received for damange to property and equipment, net</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c270" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:ProceedsFromInsuranceSettlementInvestingActivities" scale="0" format="ixt:numdotdecimal" decimals="0">1,696,290</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c271" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:ProceedsFromInsuranceSettlementInvestingActivities" scale="0" format="ixt:zerodash" decimals="-3">&#x2014;</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c272" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:PaymentsToAcquireIntangibleAssets" scale="0" format="ixt:numdotdecimal" decimals="0">1,997</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c273" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:PaymentsToAcquireIntangibleAssets" scale="0" format="ixt:numdotdecimal" decimals="0">11,669</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 54pt; text-indent: -9pt;">Net cash provided by (used in) investing activities</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c274" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" scale="0" format="ixt:numdotdecimal" decimals="0">1,464,041</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c275" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" scale="0" format="ixt:numdotdecimal" decimals="0" sign="-">111,982</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">Cash flows from financing activities:</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c277" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" scale="0" format="ixt:numdotdecimal" decimals="0">115,851</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c278" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" scale="0" format="ixt:numdotdecimal" decimals="0">104,636</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c279" contextRef="d_2022-11-01_2023-04-30_LineOfCreditFacilityAxis-PinnacleFinancialPartnersMember_LongtermDebtTypeAxis-VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember" unitRef="USD" name="us-gaap:ProceedsFromNotesPayable" scale="0" format="ixt:numdotdecimal" decimals="0">41,292,679</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c280" contextRef="d_2021-11-01_2022-04-30_LineOfCreditFacilityAxis-PinnacleFinancialPartnersMember_LongtermDebtTypeAxis-VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember" unitRef="USD" name="us-gaap:ProceedsFromNotesPayable" scale="0" format="ixt:numdotdecimal" decimals="0">33,107,669</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c281" contextRef="d_2022-11-01_2023-04-30_LineOfCreditFacilityAxis-PinnacleFinancialPartnersMember_LongtermDebtTypeAxis-VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember" unitRef="USD" name="us-gaap:RepaymentsOfNotesPayable" scale="0" format="ixt:numdotdecimal" decimals="0">39,285,532</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c282" contextRef="d_2021-11-01_2022-04-30_LineOfCreditFacilityAxis-PinnacleFinancialPartnersMember_LongtermDebtTypeAxis-VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember" unitRef="USD" name="us-gaap:RepaymentsOfNotesPayable" scale="0" format="ixt:numdotdecimal" decimals="0">29,528,380</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c283" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:RepaymentsOfLongTermDebt" scale="0" format="ixt:numdotdecimal" decimals="0">167,596</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c284" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:RepaymentsOfLongTermDebt" scale="0" format="ixt:numdotdecimal" decimals="0">161,049</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c285" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:PaymentsOfFinancingCosts" scale="0" format="ixt:numdotdecimal" decimals="0">50,000</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c286" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:PaymentsOfFinancingCosts" scale="0" format="ixt:numdotdecimal" decimals="0">50,000</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c287" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:FinanceLeasePrincipalPayments" scale="0" format="ixt:numdotdecimal" decimals="0">17,652</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c288" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:FinanceLeasePrincipalPayments" scale="0" format="ixt:numdotdecimal" decimals="0">16,833</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 54pt; text-indent: -9pt;">Net cash provided by financing activities</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c289" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="0" format="ixt:numdotdecimal" decimals="0">1,656,048</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c290" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="0" format="ixt:numdotdecimal" decimals="0">3,246,771</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Net increase in cash and restricted cash</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c291" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" scale="0" format="ixt:numdotdecimal" decimals="0">1,626,943</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c292" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" scale="0" format="ixt:numdotdecimal" decimals="0">106,785</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c293" contextRef="i_2022-10-31" unitRef="USD" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" scale="0" format="ixt:numdotdecimal" decimals="0">215,936</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 12%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c294" contextRef="i_2021-10-31" unitRef="USD" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" scale="0" format="ixt:numdotdecimal" decimals="0">132,249</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Cash and restricted cash at end of period</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c295" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" scale="0" format="ixt:numdotdecimal" decimals="0">1,842,879</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c296" contextRef="i_2022-04-30" unitRef="USD" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" scale="0" format="ixt:numdotdecimal" decimals="0">239,034</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
		</tr>

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

<p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">&#xa0;</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;">&#xa0;</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-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">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">&#xa0;</p>

<p style="font-family: &quot;Times New Roman&quot;; 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: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">&#xa0;</p>

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

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

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

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

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

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

<div>&#xa0;</div>

<ix:nonNumeric contextRef="d_2022-11-01_2023-04-30" name="us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" id="c297" 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="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt;">&#xa0;</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 &#x201c;Company&#x201d; or &#x201c;OCC&#xae;&#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, 2023 are not necessarily indicative of the results for the fiscal year ending October 31, 2023 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, 2022 (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, 2022.</p>
</ix:nonNumeric>

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

<div>&#xa0;</div>

<ix:nonNumeric contextRef="d_2022-11-01_2023-04-30" name="us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" id="c308" 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 Plans and Other Share</b>&#x2011;<b>Based Compensation</b></p>
			</td>
		</tr>

</tbody></table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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, 2023, there were approximately <ix:nonFraction id="c312" contextRef="i_2023-04-30_PlanNameAxis-Plan2017Member" unitRef="Share" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" scale="0" format="ixt:numdotdecimal" decimals="INF">384,000</ix:nonFraction> remaining shares available for grant under the Optical Cable Corporation Stock Incentive Plan (&#x201c;2017 Plan&#x201d;).</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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, 2023 was $<ix:nonFraction id="c317" contextRef="d_2023-02-01_2023-04-30_PlanNameAxis-Plan2017Member_TitleOfIndividualAxis-EmployeesConsultantAndNonemployeeDirectorsMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="0" format="ixt:numdotdecimal" decimals="0">154,639</ix:nonFraction> and $<ix:nonFraction id="c318" contextRef="d_2022-11-01_2023-04-30_PlanNameAxis-Plan2017Member_TitleOfIndividualAxis-EmployeesConsultantAndNonemployeeDirectorsMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="0" format="ixt:numdotdecimal" decimals="0">289,680</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, 2022 was $<ix:nonFraction id="c323" contextRef="d_2022-02-01_2022-04-30_PlanNameAxis-Plan2017Member_TitleOfIndividualAxis-EmployeesConsultantAndNonemployeeDirectorsMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="0" format="ixt:numdotdecimal" decimals="0">113,212</ix:nonFraction> and $<ix:nonFraction id="c324" contextRef="d_2021-11-01_2022-04-30_PlanNameAxis-Plan2017Member_TitleOfIndividualAxis-EmployeesConsultantAndNonemployeeDirectorsMember" unitRef="USD" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="0" format="ixt:numdotdecimal" decimals="0">237,651</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;">&#xa0;</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;">&#xa0;</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;">&#xa0;</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-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">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">&#xa0;</p></ix:exclude>

<ix:exclude><p style="font-family: &quot;Times New Roman&quot;; 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: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">&#xa0;</p></ix:exclude>

<ix:exclude><p style="font-family: &quot;Times New Roman&quot;; 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: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Six Months Ended April 30, 2023</p></ix:exclude>

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

<ix:exclude><p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</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, 2023 consisted of restricted shares withheld for taxes in connection with the vesting of restricted shares totaling <ix:nonFraction id="c332" contextRef="d_2022-11-01_2023-04-30_AwardTypeAxis-RestrictedStockMember" unitRef="Share" name="us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation" scale="0" format="ixt:numdotdecimal" decimals="INF">28,073</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;">&#xa0;</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, 2023, 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_2022-11-01_2023-04-30_AwardTypeAxis-RestrictedStockMember" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" id="c335" format="ixt-sec:duryear">1.2</ix:nonNumeric> year weighted-average period is approximately $<ix:nonFraction id="c336" contextRef="i_2023-04-30_AwardTypeAxis-RestrictedStockMember" unitRef="USD" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" scale="0" format="ixt:numdotdecimal" decimals="0">730,000</ix:nonFraction>.</p>
</ix:nonNumeric>

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

<div>&#xa0;</div>

<ix:nonNumeric contextRef="d_2022-11-01_2023-04-30" name="occ:AllowanceForDoubtfulAccountsForTradeAccountsReceivableDisclosureTextBlock" id="c337" 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 Doubtful Accounts 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;">&#xa0;</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 doubtful accounts for trade accounts receivable for the six months ended April 30, 2023 and 2022 follows:</p>

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

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

		<tbody><tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b> </b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>April 30,</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c347" contextRef="i_2022-10-31" unitRef="USD" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="0" format="ixt:numdotdecimal" decimals="0">69,643</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c348" contextRef="i_2021-10-31" unitRef="USD" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="0" format="ixt:numdotdecimal" decimals="0">61,527</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Bad debt expense</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c349" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:ProvisionForDoubtfulAccounts" scale="0" format="ixt:numdotdecimal" decimals="0">14,959</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c350" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:ProvisionForDoubtfulAccounts" scale="0" format="ixt:numdotdecimal" decimals="0">18,038</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;"><ix:nonFraction id="c351" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="0" format="ixt:numdotdecimal" decimals="0">84,602</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;"><ix:nonFraction id="c352" contextRef="i_2022-04-30" unitRef="USD" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="0" format="ixt:numdotdecimal" decimals="0">79,565</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
		</tr>

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

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

<div>&#xa0;</div>

<ix:nonNumeric contextRef="d_2022-11-01_2023-04-30" name="us-gaap:InventoryDisclosureTextBlock" id="c353" 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;">&#xa0;</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, 2023 and October 31, 2022 consist of the following:</p>

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

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

		<tbody><tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>April 30,</b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>October 31,</b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2023</b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2022</b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Finished goods</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c371" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:InventoryFinishedGoodsNetOfReserves" scale="0" format="ixt:numdotdecimal" decimals="0">5,581,554</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c372" contextRef="i_2022-10-31" unitRef="USD" name="us-gaap:InventoryFinishedGoodsNetOfReserves" scale="0" format="ixt:numdotdecimal" decimals="0">3,894,102</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Work in process</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c373" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:InventoryWorkInProcessNetOfReserves" scale="0" format="ixt:numdotdecimal" decimals="0">5,249,317</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c374" contextRef="i_2022-10-31" unitRef="USD" name="us-gaap:InventoryWorkInProcessNetOfReserves" scale="0" format="ixt:numdotdecimal" decimals="0">4,054,789</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Raw materials</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c375" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:InventoryRawMaterialsNetOfReserves" scale="0" format="ixt:numdotdecimal" decimals="0">11,876,802</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c376" contextRef="i_2022-10-31" unitRef="USD" name="us-gaap:InventoryRawMaterialsNetOfReserves" scale="0" format="ixt:numdotdecimal" decimals="0">11,093,140</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Production supplies</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c377" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:InventorySuppliesNetOfReserves" scale="0" format="ixt:numdotdecimal" decimals="0">392,291</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c378" contextRef="i_2022-10-31" unitRef="USD" name="us-gaap:InventorySuppliesNetOfReserves" scale="0" format="ixt:numdotdecimal" decimals="0">396,735</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c379" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:InventoryNet" scale="0" format="ixt:numdotdecimal" decimals="0">23,099,964</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c380" contextRef="i_2022-10-31" unitRef="USD" name="us-gaap:InventoryNet" scale="0" format="ixt:numdotdecimal" decimals="0">19,438,766</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
		</tr>

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

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

<div>&#xa0;</div>

<ix:nonNumeric contextRef="d_2022-11-01_2023-04-30" name="us-gaap:ProductWarrantyDisclosureTextBlock" id="c381" 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;">&#xa0;</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, 2023 and October 31, 2022, the Company&#x2019;s accrual for estimated product warranty claims totaled $<ix:nonFraction id="c387" contextRef="i_2023-04-30_BalanceSheetLocationAxis-AccountsPayableAndAccruedLiabilitiesMember" unitRef="USD" name="us-gaap:ProductWarrantyAccrual" scale="0" format="ixt:numdotdecimal" decimals="0">65,000</ix:nonFraction> and $<ix:nonFraction id="c388" contextRef="i_2022-10-31_BalanceSheetLocationAxis-AccountsPayableAndAccruedLiabilitiesMember" unitRef="USD" name="us-gaap:ProductWarrantyAccrual" scale="0" format="ixt:numdotdecimal" decimals="0">75,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, 2023 totaled $<ix:nonFraction id="c393" contextRef="d_2023-02-01_2023-04-30" unitRef="USD" name="us-gaap:ProductWarrantyExpense" scale="0" format="ixt:numdotdecimal" decimals="0">13,078</ix:nonFraction> and $<ix:nonFraction id="c394" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:ProductWarrantyExpense" scale="0" format="ixt:numdotdecimal" decimals="0">29,652</ix:nonFraction>, respectively. Warranty claims expense for the three months and six months ended April 30, 2022 totaled $<ix:nonFraction id="c399" contextRef="d_2022-02-01_2022-04-30" unitRef="USD" name="us-gaap:ProductWarrantyExpense" scale="0" format="ixt:numdotdecimal" decimals="0">15,641</ix:nonFraction> and $<ix:nonFraction id="c400" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:ProductWarrantyExpense" scale="0" format="ixt:numdotdecimal" decimals="0">23,535</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;">&#xa0;</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-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">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;">&#xa0;</p></ix:exclude>

<ix:exclude><p style="font-family: &quot;Times New Roman&quot;; 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: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">&#xa0;</p></ix:exclude>

<ix:exclude><p style="font-family: &quot;Times New Roman&quot;; 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: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Six Months Ended April 30, 2023</p></ix:exclude>

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

<ix:exclude><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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&#x2019;s accrual for product warranties during the six months ended April 30, 2023 and 2022:</p>

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

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

		<tbody><tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b> </b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>April 30,</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c419" contextRef="i_2022-10-31" unitRef="USD" name="us-gaap:ProductWarrantyAccrual" scale="0" format="ixt:numdotdecimal" decimals="0">75,000</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c420" contextRef="i_2021-10-31" unitRef="USD" name="us-gaap:ProductWarrantyAccrual" scale="0" format="ixt:numdotdecimal" decimals="0">75,000</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c421" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:ProductWarrantyAccrualWarrantiesIssued" scale="0" format="ixt:numdotdecimal" decimals="0">59,149</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c422" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:ProductWarrantyAccrualWarrantiesIssued" scale="0" format="ixt:numdotdecimal" decimals="0">80,092</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">(<ix:nonFraction id="c423" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:ProductWarrantyAccrualPayments" scale="0" format="ixt:numdotdecimal" decimals="0">39,652</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">(<ix:nonFraction id="c424" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:ProductWarrantyAccrualPayments" scale="0" format="ixt:numdotdecimal" decimals="0">33,535</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c425" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease" scale="0" format="ixt:numdotdecimal" decimals="0" sign="-">29,497</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c426" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease" scale="0" format="ixt:numdotdecimal" decimals="0" sign="-">56,557</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;"><ix:nonFraction id="c427" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:ProductWarrantyAccrual" scale="0" format="ixt:numdotdecimal" decimals="0">65,000</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;"><ix:nonFraction id="c428" contextRef="i_2022-04-30" unitRef="USD" name="us-gaap:ProductWarrantyAccrual" scale="0" format="ixt:numdotdecimal" decimals="0">65,000</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
		</tr>

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

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

<div>&#xa0;</div>

<ix:nonNumeric contextRef="d_2022-11-01_2023-04-30" name="us-gaap:LongTermDebtTextBlock" id="c429" 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;">&#xa0;</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 &#x201c;Virginia Real Estate Loan&#x201d;), a supplemental real estate term loan, as amended and restated (the &#x201c;North Carolina Real Estate Loan&#x201d;) and a Revolving Credit Master Promissory Note and related agreements (collectively, the &#x201c;Revolver&#x201d;).</p>

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

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">Both the Virginia Real Estate Loan and the North Carolina Real Estate Loan are with Northeast Bank, have a fixed interest rate of <ix:nonFraction id="c431" contextRef="i_2023-04-30_LineOfCreditFacilityAxis-PinnacleFinancialPartnersMember_LongtermDebtTypeAxis-VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember" unitRef="Pure" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" format="ixt:numdotdecimal" decimals="4">3.95</ix:nonFraction>% and are secured by a first lien deed of trust on the Company&#x2019;s real property. Also see note 12.</p>

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

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;text-indent:27pt;">Long-term debt as of April 30, 2023 and October 31, 2022 consists of the following:</p>

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

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

		<tbody><tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>April 30,</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>October 31,</b> </b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Virginia Real Estate Loan ($<ix:nonFraction id="c505" contextRef="i_2023-04-30_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember" unitRef="USD" name="us-gaap:DebtInstrumentFaceAmount" scale="6" format="ixt:numdotdecimal" decimals="-5"><ix:nonFraction id="c506" contextRef="i_2022-10-31_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember" unitRef="USD" name="us-gaap:DebtInstrumentFaceAmount" scale="6" format="ixt:numdotdecimal" decimals="-5">6.5</ix:nonFraction></ix:nonFraction> million original principal) payable in monthly installments of $<ix:nonFraction id="c507" contextRef="d_2022-11-01_2023-04-30_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember" unitRef="USD" name="us-gaap:DebtInstrumentPeriodicPayment" scale="0" format="ixt:numdotdecimal" decimals="0"><ix:nonFraction id="c508" contextRef="d_2021-11-01_2022-10-31_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember" unitRef="USD" name="us-gaap:DebtInstrumentPeriodicPayment" scale="0" format="ixt:numdotdecimal" decimals="0">31,812</ix:nonFraction></ix:nonFraction>, including interest (at <ix:nonFraction id="c509" contextRef="i_2023-04-30_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember" unitRef="Pure" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" format="ixt:numdotdecimal" decimals="4"><ix:nonFraction id="c510" contextRef="i_2022-10-31_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember" unitRef="Pure" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" format="ixt:numdotdecimal" decimals="4">3.95</ix:nonFraction></ix:nonFraction>%), with final payment of $<ix:nonFraction id="c511" contextRef="i_2023-04-30_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember" unitRef="USD" name="us-gaap:DebtInstrumentPeriodicPaymentTermsBalloonPaymentToBePaid" scale="0" format="ixt:numdotdecimal" decimals="0"><ix:nonFraction id="c512" contextRef="i_2022-10-31_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember" unitRef="USD" name="us-gaap:DebtInstrumentPeriodicPaymentTermsBalloonPaymentToBePaid" scale="0" format="ixt:numdotdecimal" decimals="0">3,318,029</ix:nonFraction></ix:nonFraction> due <ix:nonNumeric contextRef="d_2022-11-01_2023-04-30_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember" name="us-gaap:DebtInstrumentMaturityDate" id="c513" format="ixt:datemonthdayyearen"><ix:nonNumeric contextRef="d_2021-11-01_2022-10-31_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember" name="us-gaap:DebtInstrumentMaturityDate" id="c514" format="ixt:datemonthdayyearen">May 1, 2024</ix:nonNumeric></ix:nonNumeric></p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c515" contextRef="i_2023-04-30_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember" unitRef="USD" name="us-gaap:LongTermDebt" scale="0" format="ixt:numdotdecimal" decimals="0">3,550,720</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c516" contextRef="i_2022-10-31_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember" unitRef="USD" name="us-gaap:LongTermDebt" scale="0" format="ixt:numdotdecimal" decimals="0">3,669,294</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">North Carolina Real Estate Loan ($<ix:nonFraction id="c517" contextRef="i_2023-04-30_LongtermDebtTypeAxis-NorthCarolinaRealEstateLoanMember" unitRef="USD" name="us-gaap:DebtInstrumentFaceAmount" scale="6" format="ixt:numdotdecimal" decimals="-4"><ix:nonFraction id="c518" contextRef="i_2022-10-31_LongtermDebtTypeAxis-NorthCarolinaRealEstateLoanMember" unitRef="USD" name="us-gaap:DebtInstrumentFaceAmount" scale="6" format="ixt:numdotdecimal" decimals="-4">2.24</ix:nonFraction></ix:nonFraction> million original principal) payable in monthly installments of $<ix:nonFraction id="c519" contextRef="d_2022-11-01_2023-04-30_LongtermDebtTypeAxis-NorthCarolinaRealEstateLoanMember" unitRef="USD" name="us-gaap:DebtInstrumentPeriodicPayment" scale="0" format="ixt:numdotdecimal" decimals="0"><ix:nonFraction id="c520" contextRef="d_2021-11-01_2022-10-31_LongtermDebtTypeAxis-NorthCarolinaRealEstateLoanMember" unitRef="USD" name="us-gaap:DebtInstrumentPeriodicPayment" scale="0" format="ixt:numdotdecimal" decimals="0">10,963</ix:nonFraction></ix:nonFraction>, including interest (at <ix:nonFraction id="c521" contextRef="i_2023-04-30_LongtermDebtTypeAxis-NorthCarolinaRealEstateLoanMember" unitRef="Pure" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" format="ixt:numdotdecimal" decimals="4"><ix:nonFraction id="c522" contextRef="i_2022-10-31_LongtermDebtTypeAxis-NorthCarolinaRealEstateLoanMember" unitRef="Pure" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" format="ixt:numdotdecimal" decimals="4">3.95</ix:nonFraction></ix:nonFraction>%), with final payment of $<ix:nonFraction id="c523" contextRef="i_2023-04-30_LongtermDebtTypeAxis-NorthCarolinaRealEstateLoanMember" unitRef="USD" name="us-gaap:DebtInstrumentPeriodicPaymentTermsBalloonPaymentToBePaid" scale="0" format="ixt:numdotdecimal" decimals="0"><ix:nonFraction id="c524" contextRef="i_2022-10-31_LongtermDebtTypeAxis-NorthCarolinaRealEstateLoanMember" unitRef="USD" name="us-gaap:DebtInstrumentPeriodicPaymentTermsBalloonPaymentToBePaid" scale="0" format="ixt:numdotdecimal" decimals="0">711,773</ix:nonFraction></ix:nonFraction> due <ix:nonNumeric contextRef="d_2022-11-01_2023-04-30_LongtermDebtTypeAxis-NorthCarolinaRealEstateLoanMember" name="us-gaap:DebtInstrumentMaturityDate" id="c525" format="ixt:datemonthdayyearen"><ix:nonNumeric contextRef="d_2021-11-01_2022-10-31_LongtermDebtTypeAxis-NorthCarolinaRealEstateLoanMember" name="us-gaap:DebtInstrumentMaturityDate" id="c526" format="ixt:datemonthdayyearen">May 1, 2024</ix:nonNumeric></ix:nonNumeric></p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;"><ix:nonFraction id="c527" contextRef="i_2023-04-30_LongtermDebtTypeAxis-NorthCarolinaRealEstateLoanMember" unitRef="USD" name="us-gaap:LongTermDebt" scale="0" format="ixt:numdotdecimal" decimals="0">810,286</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;"><ix:nonFraction id="c528" contextRef="i_2022-10-31_LongtermDebtTypeAxis-NorthCarolinaRealEstateLoanMember" unitRef="USD" name="us-gaap:LongTermDebt" scale="0" format="ixt:numdotdecimal" decimals="0">859,308</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt; text-indent: -9pt;">Total long-term debt</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c529" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:LongTermDebt" scale="0" format="ixt:numdotdecimal" decimals="0">4,361,006</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c530" contextRef="i_2022-10-31" unitRef="USD" name="us-gaap:LongTermDebt" scale="0" format="ixt:numdotdecimal" decimals="0">4,528,602</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Less current installments</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c531" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:LongTermDebtCurrent" scale="0" format="ixt:numdotdecimal" decimals="0">344,451</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c532" contextRef="i_2022-10-31" unitRef="USD" name="us-gaap:LongTermDebtCurrent" scale="0" format="ixt:numdotdecimal" decimals="0">338,094</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Long-term debt, excluding current installments</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;"><ix:nonFraction id="c533" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:LongTermDebtNoncurrent" scale="0" format="ixt:numdotdecimal" decimals="0">4,016,555</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;"><ix:nonFraction id="c534" contextRef="i_2022-10-31" unitRef="USD" name="us-gaap:LongTermDebtNoncurrent" scale="0" format="ixt:numdotdecimal" decimals="0">4,190,508</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
		</tr>

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

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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, &#x201c;SLR&#x201d;) provides the Company with one or more advances in an amount up to: (a) <ix:nonFraction id="c470" contextRef="i_2023-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember" unitRef="Pure" name="occ:LineOfCreditFacilityPercentOfEligibleAccounts" scale="-2" format="ixt:numdotdecimal" decimals="2">85</ix:nonFraction>% 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 <ix:nonFraction id="c471" contextRef="i_2023-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember" unitRef="Pure" name="occ:LineOfCreditFacilityPercentOfEligibleInventory" scale="-2" format="ixt:numdotdecimal" decimals="2">35</ix:nonFraction>% of the aggregate value of eligible inventory, (ii) $<ix:nonFraction id="c472" contextRef="i_2023-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember" unitRef="USD" name="occ:LineOfCreditFacilityAdditionalCapacityForAdvances" scale="0" format="ixt:numdotdecimal" decimals="0">5,000,000</ix:nonFraction>, and (iii) an amount not to exceed 100% of the then outstanding eligible accounts loan value; minus (c) $<ix:nonFraction id="c474" contextRef="i_2023-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember" unitRef="USD" name="occ:LineOfCreditFacilityRestrictedCapacityForAdvances" scale="0" format="ixt:numdotdecimal" decimals="0">1,150,000</ix:nonFraction>.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">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">&#xa0;</p></ix:exclude>

<ix:exclude><p style="font-family: &quot;Times New Roman&quot;; 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: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">&#xa0;</p></ix:exclude>

<ix:exclude><p style="font-family: &quot;Times New Roman&quot;; 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: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Six Months Ended April 30, 2023</p></ix:exclude>

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

<ix:exclude><p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</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 maximum aggregate principal amount subject to the Revolver is $<ix:nonFraction id="c478" contextRef="i_2023-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember" unitRef="USD" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="0" format="ixt:numdotdecimal" decimals="0">18,000,000</ix:nonFraction>. Interest accrues on the daily balance at the per annum rate of <ix:nonFraction id="c479" contextRef="d_2022-11-01_2023-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember_VariableRateAxis-PrimeRateMember" unitRef="Pure" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" format="ixt:numdotdecimal" decimals="3">1.5</ix:nonFraction>% above the Prime Rate in effect from time to time, but not less than <ix:nonFraction id="c480" contextRef="i_2020-07-24_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember" unitRef="Pure" name="us-gaap:DebtInstrumentInterestRateEffectivePercentage" scale="-2" format="ixt:numdotdecimal" decimals="4">4.75</ix:nonFraction>% (the &#x201c;Applicable Rate&#x201d;). In the event of a default, interest may become <ix:nonFraction id="c481" contextRef="i_2023-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember_RangeAxis-MaximumMember" unitRef="Pure" name="us-gaap:DebtInstrumentInterestRateEffectivePercentage" scale="-2" format="ixt:numdotdecimal" decimals="2">6.0</ix:nonFraction>% above the Applicable Rate. As of April 30, 2023, the Revolver accrued interest at the prime lending rate plus <ix:nonFraction id="c484" contextRef="d_2022-11-01_2023-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember_VariableRateAxis-PrimeRateMember" unitRef="Pure" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" format="ixt:numdotdecimal" decimals="3">1.5</ix:nonFraction>% (resulting in a <ix:nonFraction id="c485" contextRef="i_2023-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember" unitRef="Pure" name="us-gaap:DebtInstrumentInterestRateEffectivePercentage" scale="-2" format="ixt:numdotdecimal" decimals="3">9.5</ix:nonFraction>% rate at April 30, 2023). The termination date of the Revolver is July 24, 2025 and the loan may be extended in <span style="-sec-ix-hidden:c490">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;">&#xa0;</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;">&#xa0;</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, 2023, the Company had $<ix:nonFraction id="c493" contextRef="i_2023-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-PinnacleFinancialPartnersMember" unitRef="USD" name="us-gaap:LineOfCredit" scale="6" format="ixt:numdotdecimal" decimals="-6">8.0</ix:nonFraction> million of outstanding borrowings on its Revolver and $<ix:nonFraction id="c495" contextRef="i_2023-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-PinnacleFinancialPartnersMember" unitRef="USD" name="us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity" scale="6" format="ixt:numdotdecimal" decimals="-6">5.0</ix:nonFraction> million in available credit. As of October 31, 2022, the Company had $<ix:nonFraction id="c499" contextRef="i_2022-10-31_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-PinnacleFinancialPartnersMember" unitRef="USD" name="us-gaap:LineOfCredit" scale="6" format="ixt:numdotdecimal" decimals="-6">6.0</ix:nonFraction> million of outstanding borrowings on its Revolver and $<ix:nonFraction id="c501" contextRef="i_2022-10-31_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-PinnacleFinancialPartnersMember" unitRef="USD" name="us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity" scale="6" format="ixt:numdotdecimal" decimals="-5">5.9</ix:nonFraction> million in available credit.</p>
</ix:nonNumeric>

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

<div>&#xa0;</div>

<ix:nonNumeric contextRef="d_2022-11-01_2023-04-30" name="occ:LesseeOperatingAndFinanceLeasesDisclosureTextBlock" id="c535" 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;">&#xa0;</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="c537" contextRef="i_2023-04-30_LeaseContractualTermAxis-OperatingLeaseForOfficeManufacturingAndWarehouseSpaceInPlanoTexasMember" unitRef="SquareFoot" name="us-gaap:AreaOfRealEstateProperty" scale="0" format="ixt:numdotdecimal" 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;">&#xa0;</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="c540" contextRef="i_2023-04-30_LeaseContractualTermAxis-OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember" unitRef="SquareFoot" name="us-gaap:AreaOfRealEstateProperty" scale="0" format="ixt:numdotdecimal" 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:c543">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;">&#xa0;</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_2023-04-30_LeaseContractualTermAxis-OperatingLeaseForOfficeEquipmentMember" name="us-gaap:LesseeOperatingLeaseTermOfContract" id="c546" 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;">&#xa0;</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;">&#xa0;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">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.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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;">&#xa0;</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-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">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">&#xa0;</p></ix:exclude>

<ix:exclude><p style="font-family: &quot;Times New Roman&quot;; 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: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">&#xa0;</p></ix:exclude>

<ix:exclude><p style="font-family: &quot;Times New Roman&quot;; 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: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Six Months Ended April 30, 2023</p></ix:exclude>

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

<ix:exclude><p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</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 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.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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 $<ix:nonFraction id="c555" contextRef="i_2023-04-30_BalanceSheetLocationAxis-OtherAssetsMember" unitRef="USD" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="0" format="ixt:numdotdecimal" decimals="0">779,031</ix:nonFraction> and $<ix:nonFraction id="c556" contextRef="i_2022-10-31_BalanceSheetLocationAxis-OtherAssetsMember" unitRef="USD" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="0" format="ixt:numdotdecimal" decimals="0">662,328</ix:nonFraction> were included in other assets at April 30, 2023 and October 31, 2022, respectively. Operating lease liabilities of $<ix:nonFraction id="c561" contextRef="i_2023-04-30_BalanceSheetLocationAxis-AccountsPayableAndAccruedLiabilitiesMember" unitRef="USD" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="0" format="ixt:numdotdecimal" decimals="0">395,891</ix:nonFraction> and $<ix:nonFraction id="c562" contextRef="i_2023-04-30_BalanceSheetLocationAxis-OtherNoncurrentLiabilitiesMember" unitRef="USD" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="0" format="ixt:numdotdecimal" decimals="0">439,520</ix:nonFraction> were included in accounts payable and accrued expenses, and other noncurrent liabilities, respectively, at April 30, 2023. Operating lease liabilities of $<ix:nonFraction id="c565" contextRef="i_2022-10-31_BalanceSheetLocationAxis-AccountsPayableAndAccruedLiabilitiesMember" unitRef="USD" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="0" format="ixt:numdotdecimal" decimals="0">355,183</ix:nonFraction> and $<ix:nonFraction id="c566" contextRef="i_2022-10-31_BalanceSheetLocationAxis-OtherNoncurrentLiabilitiesMember" unitRef="USD" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="0" format="ixt:numdotdecimal" decimals="0">374,570</ix:nonFraction> were included in accounts payable and accrued expenses, and other noncurrent liabilities, respectively, at October 31, 2022. Operating lease expense recognized during the three months and six months ended April 30, 2023 totaled $<ix:nonFraction id="c573" contextRef="d_2023-02-01_2023-04-30" unitRef="USD" name="us-gaap:OperatingLeaseExpense" scale="0" format="ixt:numdotdecimal" decimals="0">109,144</ix:nonFraction> and $<ix:nonFraction id="c574" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:OperatingLeaseExpense" scale="0" format="ixt:numdotdecimal" decimals="0">212,477</ix:nonFraction>, respectively. Operating lease expense recognized during the three months and six months ended April 30, 2022 totaled $<ix:nonFraction id="c579" contextRef="d_2022-02-01_2022-04-30" unitRef="USD" name="us-gaap:OperatingLeaseExpense" scale="0" format="ixt:numdotdecimal" decimals="0">103,333</ix:nonFraction> and $<ix:nonFraction id="c580" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:OperatingLeaseExpense" scale="0" format="ixt:numdotdecimal" decimals="0">206,667</ix:nonFraction>, respectively.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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_2023-04-30" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" id="c581" format="ixt-sec:durmonth">26.2</ix:nonNumeric> months and the weighted average discount rate was <ix:nonFraction id="c582" contextRef="i_2023-04-30" unitRef="Pure" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" scale="-2" format="ixt:numdotdecimal" decimals="3">7.1</ix:nonFraction>% as of April 30, 2023.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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 and 2022, cash paid for operating lease liabilities totaled $<ix:nonFraction id="c589" contextRef="d_2023-02-01_2023-04-30" unitRef="USD" name="us-gaap:OperatingLeasePayments" scale="0" format="ixt:numdotdecimal" decimals="0">109,151</ix:nonFraction> and $<ix:nonFraction id="c590" contextRef="d_2022-02-01_2022-04-30" unitRef="USD" name="us-gaap:OperatingLeasePayments" scale="0" format="ixt:numdotdecimal" decimals="0">107,835</ix:nonFraction>, respectively. For the three months ended April 30, 2023 and 2022, there were <span style="-sec-ix-hidden:c595"><ix:nonFraction id="c596" contextRef="d_2022-02-01_2022-04-30" unitRef="USD" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" scale="0" format="ixt-sec:numwordsen" decimals="-3">no</ix:nonFraction></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;">&#xa0;</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="c597" contextRef="i_2023-04-30_BalanceSheetLocationAxis-OtherAssetsMember" unitRef="USD" name="us-gaap:FinanceLeaseRightOfUseAsset" scale="0" format="ixt:numdotdecimal" decimals="0">156,091</ix:nonFraction> and $<ix:nonFraction id="c598" contextRef="i_2022-10-31_BalanceSheetLocationAxis-OtherAssetsMember" unitRef="USD" name="us-gaap:FinanceLeaseRightOfUseAsset" scale="0" format="ixt:numdotdecimal" decimals="0">170,839</ix:nonFraction> were included in other assets at April 30, 2023 and October 31, 2022, respectively. Finance lease liabilities of $<ix:nonFraction id="c603" contextRef="i_2023-04-30_BalanceSheetLocationAxis-AccountsPayableAndAccruedLiabilitiesCurrentMember" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityCurrent" scale="0" format="ixt:numdotdecimal" decimals="0">36,581</ix:nonFraction> and $<ix:nonFraction id="c604" contextRef="i_2023-04-30_BalanceSheetLocationAxis-OtherNoncurrentLiabilitiesMember" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityNoncurrent" scale="0" format="ixt:numdotdecimal" decimals="0">112,404</ix:nonFraction> were included in accounts payable and accrued expenses, and other noncurrent liabilities, respectively, at April 30, 2023. Finance lease liabilities of $<ix:nonFraction id="c607" contextRef="i_2022-10-31_BalanceSheetLocationAxis-AccountsPayableAndAccruedLiabilitiesCurrentMember" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityCurrent" scale="0" format="ixt:numdotdecimal" decimals="0">35,724</ix:nonFraction> and $<ix:nonFraction id="c608" contextRef="i_2022-10-31_BalanceSheetLocationAxis-OtherNoncurrentLiabilitiesMember" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityNoncurrent" scale="0" format="ixt:numdotdecimal" decimals="0">130,911</ix:nonFraction> were included in accounts payable and accrued expenses, and other noncurrent liabilities, respectively, at October 31, 2022. Interest expense related to the finance lease totaled $<ix:nonFraction id="c611" contextRef="d_2023-02-01_2023-04-30" unitRef="USD" name="us-gaap:FinanceLeaseInterestExpense" scale="0" format="ixt:numdotdecimal" decimals="0">1,840</ix:nonFraction> and $<ix:nonFraction id="c612" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:FinanceLeaseInterestExpense" scale="0" format="ixt:numdotdecimal" decimals="0">3,784</ix:nonFraction>, respectively, for the three months and six months ended April 30, 2023. Interest expense related to the finance lease totaled $<ix:nonFraction id="c617" contextRef="d_2022-02-01_2022-04-30" unitRef="USD" name="us-gaap:FinanceLeaseInterestExpense" scale="0" format="ixt:numdotdecimal" decimals="0">2,251</ix:nonFraction> and $<ix:nonFraction id="c618" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:FinanceLeaseInterestExpense" scale="0" format="ixt:numdotdecimal" decimals="0">4,601</ix:nonFraction>, respectively, for the three months and six months ended April 30, 2022. For the three months ended April 30, 2023 and 2022, amortization expense related to the finance lease totaled $<ix:nonFraction id="c627" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:FinanceLeaseRightOfUseAssetAmortization" scale="0" format="ixt:numdotdecimal" decimals="0"><ix:nonFraction id="c628" contextRef="d_2022-02-01_2023-04-30" unitRef="USD" name="us-gaap:FinanceLeaseRightOfUseAssetAmortization" scale="0" format="ixt:numdotdecimal" decimals="0">7,374</ix:nonFraction></ix:nonFraction>. For the six months ended April 30, 2023 and 2022, amortization expense related to the finance lease totaled $<ix:nonFraction id="c633" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:FinanceLeaseRightOfUseAssetAmortization" scale="0" format="ixt:numdotdecimal" decimals="0"><ix:nonFraction id="c634" contextRef="d_2022-02-01_2022-04-30" unitRef="USD" name="us-gaap:FinanceLeaseRightOfUseAssetAmortization" scale="0" format="ixt:numdotdecimal" decimals="0">14,749</ix:nonFraction></ix:nonFraction>.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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_2023-04-30" name="us-gaap:LesseeFinanceLeaseRemainingLeaseTerm" id="c635" format="ixt-sec:durmonth">40</ix:nonNumeric> months and the discount rate is <ix:nonFraction id="c636" contextRef="i_2023-04-30" unitRef="Pure" name="us-gaap:LesseeFinanceLeaseDiscountRate" scale="-2" format="ixt:numdotdecimal" decimals="4">4.75</ix:nonFraction>% as of April 30, 2023.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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="c642" contextRef="d_2023-02-01_2023-04-30" unitRef="USD" name="us-gaap:FinanceLeaseInterestExpense" scale="0" format="ixt:numdotdecimal" decimals="0">1,840</ix:nonFraction> for interest and $<ix:nonFraction id="c643" contextRef="d_2023-02-01_2023-04-30" unitRef="USD" name="us-gaap:FinanceLeasePrincipalPayments" scale="0" format="ixt:numdotdecimal" 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="c647" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:FinanceLeaseInterestExpense" scale="0" format="ixt:numdotdecimal" decimals="0">3,784</ix:nonFraction> for interest and $<ix:nonFraction id="c648" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:FinanceLeasePrincipalPayments" scale="0" format="ixt:numdotdecimal" decimals="0">17,652</ix:nonFraction> for principal.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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, 2022, cash paid for the finance lease liability totaled $<ix:nonFraction id="c652" contextRef="d_2022-02-01_2022-04-30" unitRef="USD" name="us-gaap:FinanceLeaseInterestExpense" scale="0" format="ixt:numdotdecimal" decimals="0">2,251</ix:nonFraction> for interest and $<ix:nonFraction id="c653" contextRef="d_2022-02-01_2022-04-30" unitRef="USD" name="us-gaap:FinanceLeasePrincipalPayments" scale="0" format="ixt:numdotdecimal" decimals="0">8,466</ix:nonFraction> for principal. For the six months ended April 30, 2022, cash paid for the finance lease liability totaled $<ix:nonFraction id="c657" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:FinanceLeaseInterestExpense" scale="0" format="ixt:numdotdecimal" decimals="0">4,601</ix:nonFraction> for interest and $<ix:nonFraction id="c658" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:FinanceLeasePrincipalPayments" scale="0" format="ixt:numdotdecimal" decimals="0">16,833</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;">&#xa0;</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-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">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;">&#xa0;</p></ix:exclude>

<ix:exclude><p style="font-family: &quot;Times New Roman&quot;; 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: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">&#xa0;</p></ix:exclude>

<ix:exclude><p style="font-family: &quot;Times New Roman&quot;; 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: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Six Months Ended April 30, 2023</p></ix:exclude>

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

<ix:exclude><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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&#x2019;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;">&#xa0;</p>

<ix:nonNumeric contextRef="d_2022-11-01_2023-04-30" name="occ:LesseeLeaseLiabilityMaturityTableTextBlock" id="c677" escape="true">
<table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 10%; width: 80%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;">

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

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

			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>lease</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">2023 <b>(1)</b></p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c679" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" scale="0" format="ixt:numdotdecimal" decimals="0">220,050</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c680" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" scale="0" format="ixt:numdotdecimal" decimals="0">21,434</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">2024</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c681" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" scale="0" format="ixt:numdotdecimal" decimals="0">448,298</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c682" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo" scale="0" format="ixt:numdotdecimal" decimals="0">42,868</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">2025</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c683" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree" scale="0" format="ixt:numdotdecimal" decimals="0">177,997</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c684" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree" scale="0" format="ixt:numdotdecimal" decimals="0">42,868</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">2026</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c685" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour" scale="0" format="ixt:numdotdecimal" decimals="0">63,644</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;"><ix:nonFraction id="c686" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityPaymentsDueYearFour" scale="0" format="ixt:numdotdecimal" decimals="0">55,715</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c687" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" scale="0" format="ixt:numdotdecimal" decimals="0">909,989</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"><ix:nonFraction id="c688" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityPaymentsDue" scale="0" format="ixt:numdotdecimal" decimals="0">162,885</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Present value discount</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c689" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" scale="0" format="ixt:numdotdecimal" decimals="0">74,578</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">(<ix:nonFraction id="c690" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount" scale="0" format="ixt:numdotdecimal" decimals="0">13,900</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Total lease liability</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;"><ix:nonFraction id="c691" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:OperatingLeaseLiability" scale="0" format="ixt:numdotdecimal" decimals="0">835,411</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;"><ix:nonFraction id="c692" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:FinanceLeaseLiability" scale="0" format="ixt:numdotdecimal" decimals="0">148,985</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
		</tr>

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

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

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

		<tbody><tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="vertical-align: bottom; width: 9%; 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)</b> <ix:footnote xml:lang="en-us" id="f03523989-480e-405f-851c-ac104fc94852">Remaining six months of fiscal year 2023.</ix:footnote></p>
			</td>
		</tr>

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

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

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

<div>&#xa0;</div>

<ix:nonNumeric contextRef="d_2022-11-01_2023-04-30" name="us-gaap:FairValueDisclosuresTextBlock" id="c693" 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;">&#xa0;</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, 2023 and October 31, 2022 for cash, restricted cash, trade accounts receivable, other receivables, current installments of long-term debt, accounts payable and accrued expenses, and accrued compensation and payroll taxes approximate fair value because of the short maturity of these instruments. The carrying values of the Company&#x2019;s note payable, revolver &#x2013; noncurrent, and long-term debt, excluding current installments, approximate fair value based on long-term debt issues available to the Company as of April 30, 2023 and October 31, 2022. 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;">&#xa0;</p>

<div>&#xa0;</div>

<ix:nonNumeric contextRef="d_2022-11-01_2023-04-30" name="us-gaap:EarningsPerShareTextBlock" id="c703" 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: 'Times New Roman', 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: 'Times New Roman', 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;">&#xa0;</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;">&#xa0;</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;">&#xa0;</p>

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

		<tbody><tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three months ended</b> </b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six months ended</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>April 30,</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>April 30,</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 48%;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c732" contextRef="d_2023-02-01_2023-04-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="0" format="ixt:numdotdecimal" decimals="0">2,423,087</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c733" contextRef="d_2022-02-01_2022-04-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="0" format="ixt:numdotdecimal" decimals="0" sign="-">227,991</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c734" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="0" format="ixt:numdotdecimal" decimals="0">3,233,071</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(<ix:nonFraction id="c735" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:NetIncomeLoss" scale="0" format="ixt:numdotdecimal" decimals="0" sign="-">1,163,784</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Shares (denominator)</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c736" contextRef="d_2023-02-01_2023-04-30" unitRef="Share" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">7,867,755</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c737" contextRef="d_2022-02-01_2022-04-30" unitRef="Share" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">7,487,337</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c738" contextRef="d_2022-11-01_2023-04-30" unitRef="Share" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">7,880,685</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c739" contextRef="d_2021-11-01_2022-04-30" unitRef="Share" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">7,464,862</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c740" contextRef="d_2023-02-01_2023-04-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">0.31</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c741" contextRef="d_2022-02-01_2022-04-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareBasic" scale="0" format="ixt:numdotdecimal" decimals="INF" sign="-">0.03</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c742" contextRef="d_2022-11-01_2023-04-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareBasic" scale="0" format="ixt:numdotdecimal" decimals="INF">0.41</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(<ix:nonFraction id="c743" contextRef="d_2021-11-01_2022-04-30" unitRef="USDPerShare" name="us-gaap:EarningsPerShareBasic" scale="0" format="ixt:numdotdecimal" decimals="INF" sign="-">0.16</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
		</tr>

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

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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, 2022 totaling <ix:nonFraction id="c721" contextRef="d_2022-02-01_2022-04-30" unitRef="Share" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" format="ixt:numdotdecimal" decimals="INF">373,751</ix:nonFraction> and <ix:nonFraction id="c722" contextRef="d_2021-11-01_2022-04-30" unitRef="Share" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" format="ixt:numdotdecimal" decimals="INF">403,114</ix:nonFraction>, respectively, 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, 2022 (because to include such shares would have been antidilutive, or in other words, to do so would have reduced the net loss per share for that period).</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">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">&#xa0;</p></ix:exclude>

<ix:exclude><p style="font-family: &quot;Times New Roman&quot;; 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: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">&#xa0;</p></ix:exclude>

<ix:exclude><p style="font-family: &quot;Times New Roman&quot;; 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: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Six Months Ended April 30, 2023</p></ix:exclude>

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

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

<div>&#xa0;</div>

<ix:nonNumeric contextRef="d_2022-11-01_2023-04-30" name="us-gaap:ConcentrationRiskDisclosureTextBlock" id="c744" 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;">&#xa0;</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&#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, 2023 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;">&#xa0;</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, 2023, <ix:nonFraction id="c752" contextRef="d_2023-02-01_2023-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-CustomerOneMember" unitRef="Pure" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" format="ixt:numdotdecimal" decimals="3">17.7</ix:nonFraction>% and <ix:nonFraction id="c753" contextRef="d_2022-11-01_2023-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-CustomerOneMember" unitRef="Pure" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" format="ixt:numdotdecimal" decimals="3">16.3</ix:nonFraction>%, respectively, of consolidated net sales were attributable to <span style="-sec-ix-hidden:c754"><span style="-sec-ix-hidden:c755">one</span></span> national distributor customer. For the three months and six months ended April 30, 2022, <ix:nonFraction id="c760" contextRef="d_2022-02-01_2022-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-OneCustomerMember" unitRef="Pure" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" format="ixt:numdotdecimal" decimals="2">17.0</ix:nonFraction>% and <ix:nonFraction id="c761" contextRef="d_2021-11-01_2022-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-OneCustomerMember" unitRef="Pure" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" format="ixt:numdotdecimal" decimals="3">17.1</ix:nonFraction>%, respectively, of consolidated net sales were attributable to <span style="-sec-ix-hidden:c762">one</span> national distributor customer.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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 single 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;">&#xa0;</p>

<div>&#xa0;</div>

<ix:nonNumeric contextRef="d_2022-11-01_2023-04-30" name="us-gaap:RevenueFromContractWithCustomerTextBlock" id="c764" 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;">&#xa0;</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&#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.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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;">&#xa0;</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&#x2019;s contract liability represents advance consideration received from customers prior to transfer of the product. This liability was $<ix:nonFraction id="c770" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:ContractWithCustomerLiability" scale="0" format="ixt:numdotdecimal" decimals="0">59,660</ix:nonFraction> as of April 30, 2023 and $<ix:nonFraction id="c773" contextRef="i_2022-10-31" unitRef="USD" name="us-gaap:ContractWithCustomerLiability" scale="0" format="ixt:numdotdecimal" decimals="0">317,310</ix:nonFraction> as of October 31, 2022.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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&#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 $<ix:nonFraction id="c776" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:ContractWithCustomerRefundLiability" scale="0" format="ixt:numdotdecimal" decimals="0">208,034</ix:nonFraction> as of April 30, 2023 and $<ix:nonFraction id="c779" contextRef="i_2022-10-31" unitRef="USD" name="us-gaap:ContractWithCustomerRefundLiability" scale="0" format="ixt:numdotdecimal" decimals="0">233,494</ix:nonFraction> as of October 31, 2022.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">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">&#xa0;</p></ix:exclude>

<ix:exclude><p style="font-family: &quot;Times New Roman&quot;; 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: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">&#xa0;</p></ix:exclude>

<ix:exclude><p style="font-family: &quot;Times New Roman&quot;; 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: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Six Months Ended April 30, 2023</p></ix:exclude>

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

<ix:exclude><p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left">&#xa0;</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;">&#xa0;</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;">&#xa0;</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;">&#xa0;</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;">&#xa0;</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, 2023 and 2022:</p>

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

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

		<tbody><tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Three months ended</b></b> </b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six months ended</b> </b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>April 30,</b></b> </b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>April 30,</b> </b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2023</b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2022</b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">United States</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c803" contextRef="d_2023-02-01_2023-04-30_StatementGeographicalAxis-US" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="0" format="ixt:numdotdecimal" decimals="0">15,829,216</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c804" contextRef="d_2022-02-01_2022-04-30_StatementGeographicalAxis-US" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="0" format="ixt:numdotdecimal" decimals="0">14,792,289</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c805" contextRef="d_2022-11-01_2023-04-30_StatementGeographicalAxis-US" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="0" format="ixt:numdotdecimal" decimals="0">30,407,301</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;"><ix:nonFraction id="c806" contextRef="d_2021-11-01_2022-04-30_StatementGeographicalAxis-US" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="0" format="ixt:numdotdecimal" decimals="0">26,936,668</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;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;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c807" contextRef="d_2023-02-01_2023-04-30_StatementGeographicalAxis-NonUsMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="0" format="ixt:numdotdecimal" decimals="0">3,790,320</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c808" contextRef="d_2022-02-01_2022-04-30_StatementGeographicalAxis-NonUsMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="0" format="ixt:numdotdecimal" decimals="0">2,408,289</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c809" contextRef="d_2022-11-01_2023-04-30_StatementGeographicalAxis-NonUsMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="0" format="ixt:numdotdecimal" decimals="0">7,495,910</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#xa0;</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><ix:nonFraction id="c810" contextRef="d_2021-11-01_2022-04-30_StatementGeographicalAxis-NonUsMember" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="0" format="ixt:numdotdecimal" decimals="0">4,704,205</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 24.2%;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 36pt;">Total net sales</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c811" contextRef="d_2023-02-01_2023-04-30" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="0" format="ixt:numdotdecimal" decimals="0">19,619,536</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c812" contextRef="d_2022-02-01_2022-04-30" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="0" format="ixt:numdotdecimal" decimals="0">17,200,578</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c813" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="0" format="ixt:numdotdecimal" decimals="0">37,903,211</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><ix:nonFraction id="c814" contextRef="d_2021-11-01_2022-04-30" unitRef="USD" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="0" format="ixt:numdotdecimal" decimals="0">31,640,873</ix:nonFraction></td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#xa0;</td>
		</tr>

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

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

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

<div>&#xa0;</div>

<ix:nonNumeric contextRef="d_2022-11-01_2023-04-30" name="us-gaap:UnusualOrInfrequentItemsDisclosureTextBlock" id="c815" 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>Restricted Cash and Gain on Insurance Proceeds</b></p>
			</td>
		</tr>

</tbody></table>

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

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

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

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">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. The office building is separate from the Company&#x2019;s manufacturing building which houses its manufacturing operations and certain offices at the same location. The Company has insurance coverage for the office building, its contents and certain business expenses to cover damages and any losses incurred.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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, 2023, the Company has restricted cash of $<ix:nonFraction id="c820" contextRef="i_2023-04-30" unitRef="USD" name="us-gaap:RestrictedCash" scale="0" format="ixt:numdotdecimal" decimals="0">1,517,885</ix:nonFraction>, resulting from the receipt of a portion of the proceeds from the insurance claim for which offsetting expenses have not yet been incurred. The insurance proceeds recorded as restricted cash relate to the collateral for the Company&#x2019;s real estate term loans with Northeast Bank and, as a result, are held in escrow. Cash may be released from escrow as the Company submits details of expenses incurred for restoration and repair of the related property to Northeast Bank. Any cash remaining in escrow after any restoration and repairs are completed, will be available for the benefit of the Company or to pay down the real estate term loans once Northeast Bank is satisfied that the collateral has been returned to an acceptable state. Cash may also be released from escrow in the event the Company pays off the real estate term loans with Northeast Bank.</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">&#xa0;</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;">13</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-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">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;">&#xa0;</p></ix:exclude>

<ix:exclude><p style="font-family: &quot;Times New Roman&quot;; 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: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">&#xa0;</p></ix:exclude>

<ix:exclude><p style="font-family: &quot;Times New Roman&quot;; 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: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;">Six Months Ended April 30, 2023</p></ix:exclude>

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

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

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

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

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">During the second quarter of fiscal year 2023, the Company received insurance proceeds in connection with the office building and its contents at the Company&#x2019;s Asheville facilities sustaining water damage from a burst pipe at the end of December 2022. The office building damaged is separate from the Company&#x2019;s manufacturing building, which houses its manufacturing operations and certain offices at the same location. There was no significant impact to the Company&#x2019;s operations as a result of this event.</p>

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

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">Insurance proceeds for all assets covered, net of applicable deductibles, received through April 30, 2023 totaled $<ix:nonFraction id="c829" contextRef="d_2022-11-01_2023-04-30_UnusualOrInfrequentItemAxis-WaterDamageFromPipeBurstMember" unitRef="USD" name="us-gaap:UnusualOrInfrequentItemNetOfInsuranceProceeds" scale="0" format="ixt:numdotdecimal" decimals="0">2,056,008</ix:nonFraction>. During the first half of fiscal year 2023, the Company recorded a loss on property and equipment totaling $<ix:nonFraction id="c832" contextRef="d_2022-11-01_2023-04-30_UnusualOrInfrequentItemAxis-WaterDamageFromPipeBurstMember" unitRef="USD" name="us-gaap:UnusualOrInfrequentItemGainGross" scale="0" format="ixt:numdotdecimal" decimals="0">7,538</ix:nonFraction> and incurred expenses for building stabilization and cleaning, removal of damaged items, and other miscellaneous and related activities totaling $<ix:nonFraction id="c833" contextRef="d_2022-11-01_2023-04-30_UnusualOrInfrequentItemAxis-WaterDamageFromPipeBurstMember" unitRef="USD" name="us-gaap:UnusualOrInfrequentItemLossGross" scale="0" format="ixt:numdotdecimal" decimals="0">359,718</ix:nonFraction>.</p>

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

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;">Insurance proceeds received in excess of expenses incurred through April 30, 2023, a net total of $<ix:nonFraction id="c836" contextRef="d_2022-11-01_2023-04-30" unitRef="USD" name="us-gaap:ProceedsFromInsuranceSettlementInvestingActivities" scale="0" format="ixt:numdotdecimal" decimals="0">1,696,290</ix:nonFraction>, is included in other income (expense), net as a gain on insurance proceeds received for damage to property and equipment on the Company&#x2019;s condensed consolidated statement of operations. To the extent the Company incurs expenses in future periods for renovation, repair or replacement or damaged assets, the Company may recognize offsetting losses in those future periods. The Company does not expect any future restoration and repair costs to exceed any insurance proceeds.</p>
</ix:nonNumeric>

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

<div>&#xa0;</div>

<ix:nonNumeric contextRef="d_2022-11-01_2023-04-30" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" id="c837" 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>Contingencies</b></p>
			</td>
		</tr>

</tbody></table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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&#x2019;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;">&#xa0;</p>

<div>&#xa0;</div>

<ix:nonNumeric contextRef="d_2022-11-01_2023-04-30" name="us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" id="c839" 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>(14) </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;">&#xa0;</p>

<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 28pt; text-align: justify;">There are no 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.</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 28pt;">&#xa0;</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;">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-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a></div>
</div>
</div>
</div></ix:exclude>

<ix:exclude><div class="PGBK" style="width: 100%; margin-left: 0pt; margin-right: 0pt">
<div class="PGHDR" style="text-align: left; width: 100%">
<div class="hf-row">&#xa0;</div>
</div>
</div></ix:exclude>

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

<div>&#xa0;</div>

<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><a id="mda" title="mda" href="#"></a>Item 2. Management</b>&#x2019;<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;">&#xa0;</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;">&#xa0;</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)&#xa0;statements concerning our outlook for the future, (ii)&#xa0;statements of belief, anticipation or expectation, (iii)&#xa0;future plans, strategies or anticipated events, and (iv)&#xa0;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, &#x201c;factors&#x201d;) may also adversely affect Optical Cable Corporation and its subsidiaries (collectively, the &#x201c;Company&#x201d; or &#x201c;OCC&#xae;&#x201d;), the Company&#x2019;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, and potential litigation, claims and other actions against 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, mining, oil &amp; gas, military, 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 sector, 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 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&#x2019; business in particular), (ii) timing of large sales orders, and (iii) 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 and the General Data Protection Regulation 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 (&#x201c;SEC&#x201d;), the Public Company Accounting Oversight Board (&#x201c;PCAOB&#x201d;), the Financial Accounting Standards Board (&#x201c;FASB&#x201d;), and/or the International Accounting Standards Board (&#x201c;IASB&#x201d;); our ability to continue to successfully comply with, and the cost of compliance with, the provisions of Section&#xa0;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&#x2019;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&#x2019;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&#x2019;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;">&#xa0;</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;">15</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-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">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">&#xa0;</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&#x2011;K and/or in our other filings.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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 &#x201c;Results of Operations&#x201d; 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;">&#xa0;</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;">&#xa0;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Optical Cable Corporation (or OCC&#xae;) 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 (&#x201c;POL&#x201d;) 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;">&#xa0;</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-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">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">&#xa0;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">OCC&#xae; 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;">&#xa0;</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;">&#xa0;</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;">&#xa0;</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. (&#x201c;AOS&#x201d;) under the names Optical Cable Corporation and OCC&#xae; 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;">&#xa0;</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;">&#xa0;</p>

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

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

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Optical Cable Corporation&#x2122;, OCC&#xae;, Procyon&#xae;, Superior Modular Products&#x2122;, SMP Data Communications&#x2122;, Applied Optical Systems&#x2122;, Centric Solutions&#x2122; 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;">&#xa0;</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;">17</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-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a></div>
</div>
</div>
</div>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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 2023</b></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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;">&#xa0;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#x25cf;</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Consolidated net sales for the second quarter of fiscal year 2023 increased 14.1% to $19.6 million, compared to $17.2 million for the same period last year.</p>
			</td>
		</tr>

</tbody></table>

<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</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; text-align: justify;">&#xa0;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#x25cf;</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Gross profit increased 34.8% to $6.8 million in the second quarter of fiscal year 2023, compared to $5.0 million for the second quarter of fiscal year 2022.</p>
			</td>
		</tr>

</tbody></table>

<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</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; text-align: justify;">&#xa0;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#x25cf;</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Gross profit margin (gross profit as a percentage of net sales) increased to 34.6% during the second quarter of fiscal year 2023, compared to 29.3% for the second quarter of fiscal year 2022.</p>
			</td>
		</tr>

</tbody></table>

<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</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; text-align: justify;">&#xa0;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#x25cf;</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">SG&amp;A expenses increased to $5.7 million during the second quarter of fiscal year 2023 compared to $5.0 million during the second quarter of fiscal year 2022. SG&amp;A expenses as a percentage of net sales were 28.9% during the second quarter of fiscal year 2023, compared to 29.3% during the same period in fiscal year 2022.</p>
			</td>
		</tr>

</tbody></table>

<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</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; text-align: justify;">&#xa0;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#x25cf;</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Income from operations was $1.1 million during the second quarter of fiscal year 2023 compared to a $21,000 loss from operations during the same period of fiscal year 2022.</p>
			</td>
		</tr>

</tbody></table>

<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</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; text-align: justify;">&#xa0;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#x25cf;</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">Net income was $2.4 million, or $0.31 per share, during the second quarter of fiscal year 2023, compared to a net loss of $228,000, or $0.03 per share, for the comparable period last year.</p>
			</td>
		</tr>

</tbody></table>

<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#xa0;</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; text-align: justify;">&#xa0;</td>
			<td style="vertical-align:top;width:18pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">&#x25cf;</p>
			</td>
			<td style="vertical-align:top;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">During the second quarter of fiscal year 2023, we received insurance proceeds in connection with our office building and its contents at our Asheville facilities sustaining water damage from a burst pipe at the end of December 2022. As a result, we recognized a gain on insurance proceeds received for damage to property and equipment during the second quarter of fiscal year 2023 totaling $1.7 million, which is reflected as income under other income (expense), net. To the extent we incur expenses in future periods to restore, repair or replace damaged assets, we may recognize offsetting losses in those future periods. At this time, we do not expect any future restoration and repair costs to exceed any insurance proceeds. The office building damaged is separate from our manufacturing building, which houses our manufacturing operations and certain offices at the same location. There was no significant impact to our operations as a result of this event.</p>
			</td>
		</tr>

</tbody></table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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;">&#xa0;</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;">&#xa0;</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;">&#xa0;</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;">18</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-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">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">&#xa0;</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;">&#xa0;</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. 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;">&#xa0;</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> (&#x201c;SG&amp;A expenses&#x201d;) 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;">&#xa0;</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;">&#xa0;</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;">&#xa0;</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;">&#xa0;</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;">&#xa0;</p>

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

		<tbody><tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Three Months Ended</b> </b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
			<td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Six Months Ended</b> </b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
			<td style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;"><b>&#xa0;</b></td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>April 30,</b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Percent</b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>April 30,</b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Percent</b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2023</b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2022</b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Change</b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2023</b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2022</b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Change</b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 28%;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Net sales</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">19,620,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">17,201,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">14.1</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">37,903,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">31,641,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">19.8</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">%</p>
			</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Gross profit</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">6,783,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5,033,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">34.8</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">13,304,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9,079,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">46.5</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5,662,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5,036,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">12.4</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">11,118,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">9,817,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">13.3</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,100,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(21,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5,338.1</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,146,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(774,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">377.1</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Net income (loss)</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,423,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(228,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">1,162.8</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,233,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(1,164,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</td>
			<td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">377.8</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#xa0;</td>
		</tr>

</tbody></table>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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, 2023 and 2022</b></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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;">&#xa0;</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 2023 increased 14.1% to $19.6 million, compared to net sales of $17.2 million for the same period last year. We experienced an increase in net sales in our specialty markets in the second quarter of fiscal year 2023, compared to the same period last year, but the increase was partially offset by decreases in net sales in our enterprise market.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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 increased 7.0%, or $1.0 million, and net sales to customers outside of the United States increased 57.4%, or $1.4 million, in the second quarter of fiscal year 2023, 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;">&#xa0;</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-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">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">&#xa0;</p>

<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Our sales order backlog/forward load continues to remain at higher than typical levels, while decreasing to approximately $8.0 million at the end of the second quarter of fiscal year 2023, compared to more than $12.0 million at the end of the fourth quarter of fiscal year 2022.&#xa0; Net sales for the remainder of fiscal year 2023 could be negatively impacted by various continuing macroeconomic pressures, risks and uncertainties.&#xa0; Certain of our markets are showing signs of softening.&#xa0; At the same time, we see what we believe to be positive indicators in certain of our other markets.&#xa0;</p>

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

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">We believe our net sales benefited from increased production throughput during the second quarter of fiscal year 2023, compared to the same period last year, as well as our higher than typical levels of sales order backlog/forward load. Additionally, improved product pricing, increased to cover certain inflationary costs, began to take effect for new orders received during the latter half of fiscal year 2022.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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;">&#xa0;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Our gross profit was $6.8 million in the second quarter of fiscal year 2023, an increase of 34.8% compared to gross profit of $5.0 million in the second quarter of fiscal year 2022. Gross profit margin, or gross profit as a percentage of net sales, increased to 34.6% in the second quarter of fiscal year 2023 compared to 29.3% in the second quarter of fiscal year 2022.</p>

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

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Our gross profit margins tend to be higher when we achieve higher net sales levels due to our operating leverage as certain fixed manufacturing costs are spread over higher sales. This operating leverage, which is beneficial at higher sales levels, positively impacted our gross profit margin during the second quarter of fiscal year 2023 when compared to the same period last year. Our gross profit margin percentages are also 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;">&#xa0;</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;">&#xa0;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">SG&amp;A expenses increased to $5.7 million during the second quarter of fiscal year 2023, compared to $5.0 million for the same period last year. SG&amp;A expenses as a percentage of net sales were 28.9% in the second quarter of fiscal year 2023, compared to 29.3% in the second quarter of fiscal year 2022.</p>

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

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

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

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Also contributing to the increase in SG&amp;A expenses during the second quarter of fiscal year 2023 were increases in travel and marketing expenses due to the return to a more typical level of business travel and an increase in the number of, and the attendance at, tradeshows during the second quarter of fiscal year 2023, when compared to the same period last year.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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;">&#xa0;</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 2023 and 2022. 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;">&#xa0;</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;">20</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-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a></div>
</div>
</div>
</div>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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;">&#xa0;</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 year 2023, compared to $12,000 during the second quarter of fiscal year 2022.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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;">&#xa0;</p>

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

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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;">&#xa0;</p>

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

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

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

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

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">During the second quarter of fiscal year 2023, we received insurance proceeds in connection with our office building and its contents at our Asheville facilities sustaining water damage from a burst pipe at the end of December 2022. In connection with this event, we recognized a gain on insurance proceeds received for damage to property and equipment during the second quarter of fiscal year 2023 totaling $1.7 million. To the extent we incur expenses in future periods to restore, repair or replace damaged assets, we may recognize offsetting losses in those future periods. At this time, we do not expect 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;">&#xa0;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">The office building sustaining water damage at our Asheville facilities is separate from our manufacturing building, which houses our manufacturing operations and certain offices at the same location. There was no significant impact to our operations as a result of this event.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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;">&#xa0;</p>

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

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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;">&#xa0;</p>

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

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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;">&#xa0;</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-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">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">&#xa0;</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;">&#xa0;</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. As of October 31, 2022, the valuation allowance against our total gross deferred tax assets totaled $4.4 million.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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;">&#xa0;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Net income for the second quarter of fiscal year 2023 was $2.4 million, or $0.31 per share, compared to a net loss of $228,000, or $0.03 per share, for the second quarter of fiscal year 2022. This improvement was primarily due to the increase in income before income taxes of $2.7 million, which includes the $1.7 million gain on insurance proceeds received for damage to property and equipment included in other income, net.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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, 2023 and 2022</b></p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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;">&#xa0;</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 2023 were $37.9 million, an increase of 19.8% compared to net sales of $31.6 million for the same period last year. We experienced increases in net sales in our specialty markets in the first half of fiscal year 2023, compared to the same period last year, but the increases were partially offset by decreases in net sales in our enterprise market. Net sales to customers in the United States increased 12.9%, or $3.5 million, and net sales to customers outside of the United States increased 59.3%, or $2.8 million, in the first half of fiscal year 2023, compared to the same period last year. We can experience fluctuations in sales from quarter to quarter in the various markets in which we operate for various reasons.&#xa0;</p>

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

<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Our sales order backlog/forward load continues to remain at higher than typical levels, while decreasing to approximately $8.0 million at the end of the first half of fiscal year 2023, compared to more than $12.0 million at the end of fiscal year 2022.&#xa0; Net sales for the remainder of fiscal year 2023 could be negatively impacted by various continuing macroeconomic pressures, risks and uncertainties.&#xa0; Certain of our markets are showing signs of softening.&#xa0; At the same time, we see what we believe to be positive indicators in certain of our other markets.&#xa0;</p>

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

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">We believe our net sales benefited from increased production throughput during the first half of fiscal year 2023, compared to the same period last year, as well as our higher than typical levels of sales order backlog/forward load. Additionally, improved product pricing, increased to cover certain inflationary costs, began to take effect for new orders received during the latter half of fiscal year 2022.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">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">&#xa0;</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;">&#xa0;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Our gross profit was $13.3 million in the first half of fiscal year 2023, an increase of 46.5% compared to gross profit of $9.1 million in the first half of fiscal year 2022. Gross profit margin increased to 35.1% in the first half of fiscal year 2023 compared to 28.7% in the first half of fiscal year 2022.</p>

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

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Our gross profit margins tend to be higher when we achieve higher net sales levels due to our operating leverage as certain fixed manufacturing costs are spread over higher sales. This operating leverage, which is beneficial at higher sales levels, positively impacted our gross profit margin during the first half of fiscal year 2023 when compared to the same period last year. Our gross profit margin percentages are also 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;">&#xa0;</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;">&#xa0;</p>

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

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

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

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

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Also contributing to the increase in SG&amp;A expenses during the second quarter of fiscal year 2023 were increases in shipping expenses and increases in travel and marketing expenses. Shipping expenses increased due to the increase in net sales and the increase in the costs charged by shippers, when compared to the same period last year. Travel and marketing expenses increased due to the return to a more typical level of business travel and an increase in the number of, and the attendance at, tradeshows during the first half of fiscal year 2023, when compared to the same period last year.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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;">&#xa0;</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 year 2023 compared to $14,000 during the first half of fiscal year 2022. 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;">&#xa0;</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;">&#xa0;</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 year 2023, compared to $24,000 during the first half of fiscal year 2022.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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;">&#xa0;</p>

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

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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;">&#xa0;</p>

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

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">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">&#xa0;</p>

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

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

<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">During the second quarter of fiscal year 2023, we received insurance proceeds in connection with our office building and its contents at our Asheville facilities sustaining water damage from a burst pipe at the end of December 2022. In connection with this event, we recognized a gain on insurance proceeds received for damage to property and equipment during the second quarter of fiscal year 2023 totaling $1.7 million. To the extent we incur expenses in future periods to restore, repair or replace damaged assets, we may recognize offsetting losses in those future periods.</p>

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

<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-indent: 1pt; text-align: justify;">At this time, we do not expect any future restoration and repair costs to exceed any insurance proceeds.<b><i> </i></b>The office building sustaining water damage at our Asheville facilities is separate from our manufacturing building, which houses our manufacturing operations and certain offices at the same location. There was no significant impact to our operations as a result of this event.</p>

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

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

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

<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt; text-align: justify;">We reported income before income taxes of $3.3 million for the first half of fiscal year 2023, compared to a loss before income taxes of $1.2 million for the first half of fiscal year 2022. The improvement was primarily due to the increase in gross profit of $4.2 million, and the gain on insurance proceeds received for damage to property and equipment of $1.7 million, partially offset by the increase in SG&amp;A expenses of $1.3 million.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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;">&#xa0;</p>

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

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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;">&#xa0;</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;">&#xa0;</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. As of October 31, 2022, the valuation allowance against our total gross deferred tax assets totaled $4.4 million.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">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">&#xa0;</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;">&#xa0;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Net income for the first half of fiscal year 2023 was $3.2 million, or $0.41 per share, compared to a net loss of $1.2 million, or $0.16 per share, for the first half of fiscal year 2022. This change was primarily due to the increase in income before income taxes of $4.5 million, which includes the $1.7 million gain on insurance proceeds received for damage to property and equipment.</p>

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

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

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

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Total assets increased $5.4 million, or 13.4%, to $46.0 million at April 30, 2023, from $40.6 million at October 31, 2022. This increase was primarily due to a $3.7 million increase in inventories and a $1.5 million increase in restricted cash. Inventories increased largely as the result of the timing of certain raw material purchases, increases in work in process levels related to pending shipments, and the increase in finished goods inventory resulting from higher replenishment rates of stock inventory. Restricted cash increased resulting from the receipt of a portion of the proceeds from the insurance claim related to water damage from a burst pipe in the sprinkler system in our Asheville office building for which offsetting expenses have not yet been incurred. The insurance proceeds recorded in restricted cash relate to the collateral for the Company&#x2019;s real estate term loans with Northeast Bank and, as a result, are held in escrow. Cash may be released from escrow as the Company submits details of expenses incurred for restoration and repair of the related property to Northeast Bank. Any cash remaining in escrow after any restoration and repairs are completed, will be available for the benefit of the Company or to pay down the real estate term loans once Northeast Bank is satisfied that the collateral has been returned to an acceptable state. Cash may also be released from escrow in the event the Company pays off the real estate term loans with Northeast Bank.</p>

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

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Total liabilities increased $2.0 million, or 10.9%, to $20.4 million at April 30, 2023, from $18.4&#xa0;million at October&#xa0;31, 2022. The increase in total liabilities was primarily due to net borrowings on our Revolver totaling $2.0 million.</p>

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

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Total shareholders&#x2019; equity at April 30, 2023 increased $3.4 million in the first half of fiscal year 2023. The increase resulted from net income of $3.2 million and share-based compensation, net of $174,000.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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;">&#xa0;</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 &#x201c;Credit Facilities&#x201d; below).</p>

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

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Our unrestricted cash of $325,000 and restricted cash of $1.5 million totaled $1.8 million as of April 30, 2023, an increase of $1.6 million compared to unrestricted cash of $216,000 as of October 31, 2022. The increase in cash and restricted cash for the six months ended April 30, 2023 primarily resulted from insurance proceeds received for damage to property and equipment totaling $1.7 million, net, and cash provided by financing activities of $1.7 million, partially offset by cash used in operating activities of $1.5 million.</p>

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

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">On April 30, 2023, we had working capital of $27.6 million, excluding restricted cash of $1.5 million, compared to $23.7 million on October 31, 2022. The ratio of current assets, excluding restricted cash of $1.5 million, to current liabilities as of April 30, 2023 was 4.6 to 1.0 compared to 4.2 to 1.0 as of October 31, 2022. The increase in working capital, excluding restricted cash, and in the current ratio, excluding restricted cash, was primarily due to the increase in inventories of $3.7 million.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">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">&#xa0;</p>

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

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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;">&#xa0;</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 was $1.5 million in the first half of fiscal year 2023, compared to $3.0 million for the first half of fiscal year 2022. 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;">&#xa0;</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 2022 primarily resulted from an increase in inventories totaling $2.3 million and the cash flow impact of increases in trade accounts receivable, net totaling $2.2 million, partially offset by certain adjustments to reconcile a net loss of $1.2 million to net cash used in operating activities including depreciation and amortization of $569,000 and share-based compensation expense of $238,000. Additionally, the cash flow impact of increases in accounts payable and accrued expenses of $1.9 million further contributed to offset net cash used in operating activities.</p>

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

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Net cash provided by investing activities totaled $1.5 million in the first half of fiscal year 2023, compared to net cash used in investing activities of $112,000 in the first half of fiscal year 2022. 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. Net cash used in investing activities during the first half of fiscal year 2022 resulted primarily from purchases of property and equipment and deposits for the purchase of property and equipment.</p>

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

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

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

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

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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 &#x201c;Virginia Real Estate Loan&#x201d;), a supplemental real estate term loan, as amended and restated (the &#x201c;North Carolina Real Estate Loan&#x201d;) and a Revolving Credit Master Promissory Note and related agreements (collectively, the &#x201c;Revolver&#x201d;).</p>

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

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">Both the Virginia Real Estate Loan and the North Carolina Real Estate Loan are with Northeast Bank, have a fixed interest rate of 3.95% and are secured by a first lien deed of trust on the Company&#x2019;s real property.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">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">&#xa0;</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, &#x201c;SLR&#x201d;) provides us 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.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;">&#xa0;</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 &#x201c;Applicable Rate&#x201d;). In the event of a default, interest may become 6.0% above the Applicable Rate. As of April 30, 2023, the Revolver accrued interest at the prime lending rate plus 1.5% (resulting in a 9.5% rate at April 30, 2023). 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;">&#xa0;</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;">&#xa0;</p>

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

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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;">&#xa0;</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, 2023. During our 2023 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;">&#xa0;</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. Our office building and its contents at our Asheville facilities sustained water damage from a burst pipe at the end of December 2022. The office building damaged is separate from our manufacturing building, which houses our manufacturing operations and certain offices at the same location. There was no significant impact to our operations as a result of this event. At this time, we do not expect any future costs to restore, repair or replace damaged assets to exceed any insurance proceeds. To the extent we have future expenditures as a result of this event, such expenditures may be expensed or capitalized in future periods, in accordance with U.S. GAAP.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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;">&#xa0;</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;">&#xa0;</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-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">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">&#xa0;</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;">&#xa0;</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;">&#xa0;</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 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;">&#xa0;</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;">&#xa0;</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 (&#x201c;U.S. GAAP&#x201d;) for interim financial information and the instructions to Form 10&#x2011;Q and Regulation S&#x2011;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;">&#xa0;</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 2022 provides a summary of our significant accounting policies. Those significant accounting policies detailed in our fiscal year 2022 Form 10-K did not change during the period from November 1, 2022 through April 30, 2023.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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;">&#xa0;</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">There are no new accounting standards issued, but not yet adopted by us, which are expected to be applicable to 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;">&#xa0;</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;">28</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-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">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">&#xa0;</p>

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

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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 &#x201c;Exchange Act&#x201d;)) 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 &#x201c;SEC&#x201d;), 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;">&#xa0;</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&#x2019;s disclosure controls and procedures as of April 30, 2023. Based on this evaluation process, the Chief Executive Officer and Chief Financial Officer have concluded that the Company&#x2019;s disclosure controls and procedures were effective as of April 30, 2023, and that there were no changes in the Company&#x2019;s internal control over financial reporting that occurred during the last fiscal quarter ended April 30, 2023 that have materially affected, or are reasonably likely to materially affect, the Company&#x2019;s internal control over financial reporting.</p>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">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">&#xa0;</p>

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

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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&#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 no 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.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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 2023, the Company recorded a loss on property and equipment totaling $8,000 and incurred expenses for building stabilization and cleaning, removal of damaged items, and other miscellaneous and related activities totaling $360,000. Insurance proceeds for all assets covered, net of applicable deductibles, received through April 30, 2023 totaled $2.0 million. Of the $2.0 million insurance proceeds received, $1.5 million relates to the collateral for the Company&#x2019;s real estate term loans with Northeast Bank and, as a result, is held in escrow. Cash may be released from escrow as the Company submits details of expenses incurred for restoration and repair of the related property to Northeast Bank. Any cash remaining in escrow after any restoration and repairs are completed, will be available for the benefit of the Company or to pay down the real estate term loans once Northeast Bank is satisfied that the collateral has been returned to an acceptable state. Cash may also be released from escrow in the event the Company pays off the real estate term loans with Northeast Bank.</p>

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

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">The amount held in escrow is for the real estate portion only of the insurance proceeds received through April 30, 2023, and will continue to be held by Northeast Bank until used or otherwise distributed for the benefit of OCC.</p>

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

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">The insurance proceeds received in excess of expenses incurred through April 30, 2023, a net total of $1.7 million, is included in other income (expense), net as a gain on insurance proceeds received for damage to property and equipment 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.</p>

<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">&#xa0;</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;">30</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-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Table of Contents</a></div>
</div>
</div>
</div>

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

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

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

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

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

<p style="font-family: &quot;Times New Roman&quot;; 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;">&#xa0;</p>

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

		<tbody><tr>
			<td style="vertical-align:top;width:8.3%;"><b><span style="text-decoration: underline; ">Exhibit No.</span></b></td>
			<td style="vertical-align:bottom;width:51.4%;"><b><span style="text-decoration: underline; ">Description</span></b></td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">&#xa0;</td>
			<td style="vertical-align:bottom;width:51.4%;">&#xa0;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">3.1</p>
			</td>
			<td style="vertical-align:bottom;width:51.4%;">
			<p style="font-family:Times New Roman;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;">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&#x2019;s Form 8-A12G filed with the Commission on November 5, 2001).</a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">&#xa0;</td>
			<td style="vertical-align:bottom;width:51.4%;">&#xa0;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">3.2</p>
			</td>
			<td style="vertical-align:middle;width:52.4%;"><a href="http://www.sec.gov/Archives/edgar/data/1000230/000112726402000123/occ_def.txt" style="-sec-extract:exhibit;">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&#x2019;s definitive proxy statement on Form 14A filed July 5, 2002).</a></td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">&#xa0;</td>
			<td style="vertical-align:bottom;width:51.4%;">&#xa0;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">3.3</p>
			</td>
			<td style="vertical-align:bottom;width:51.4%;">
			<p style="font-family:Times New Roman;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;">Amended and Restated Bylaws of Optical Cable Corporation effective October 15, 2010 (incorporated herein by reference to Exhibit 3.2 to the Company&#x2019;s Quarterly Report on Form 10-Q for the third quarter ended July&#xa0;31, 2011).</a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">&#xa0;</td>
			<td style="vertical-align:bottom;width:51.4%;">&#xa0;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">3.4</p>
			</td>
			<td style="vertical-align:bottom;width:51.4%;">
			<p style="font-family:Times New Roman;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;">Amended and Restated Bylaws of Optical Cable Corporation effective March 9, 2023 (incorporated herein by reference to Exhibit 3.4 to the Company&#x2019;s Quarterly Report on Form 10-Q for the first quarter ended January 31, 2023).</a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">&#xa0;</td>
			<td style="vertical-align:bottom;width:51.4%;">&#xa0;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">4.1</p>
			</td>
			<td style="vertical-align:bottom;width:51.4%;">
			<p style="font-family:Times New Roman;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;">Form of certificate representing Common Stock (incorporated herein by reference to Exhibit 4.1 to the Company&#x2019;s Quarterly Report on Form 10-Q for the third quarter ended July 31, 2004 (file number 0-27022)).</a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">&#xa0;</td>
			<td style="vertical-align:bottom;width:51.4%;">&#xa0;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">4.2</p>
			</td>
			<td style="vertical-align:bottom;width:51.4%;">
			<p style="font-family:Times New Roman;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;">Form of certificate representing Common Stock (incorporated herein by reference to Exhibit 4.2 to the Company&#x2019;s Quarterly Report on Form 10-Q for the third quarter ended July 31, 2012).</a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">&#xa0;</td>
			<td style="vertical-align:bottom;width:51.4%;">&#xa0;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">4.3</p>
			</td>
			<td style="vertical-align:bottom;width:51.4%;">
			<p style="font-family:Times New Roman;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;">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&#x2019;s Annual Report on Form 10-K for the period ended October 31, 2008 filed January 29, 2009).</a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">&#xa0;</td>
			<td style="vertical-align:bottom;width:51.4%;">&#xa0;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">4.4</p>
			</td>
			<td style="vertical-align:bottom;width:51.4%;">
			<p style="font-family:Times New Roman;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;">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&#x2019;s Annual Report on Form 10-K for the period ended October 31, 2008 filed January 29, 2009).</a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">&#xa0;</td>
			<td style="vertical-align:bottom;width:51.4%;">&#xa0;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">4.5</p>
			</td>
			<td style="vertical-align:bottom;width:51.4%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"><a href="http://www.sec.gov/Archives/edgar/data/1000230/000143774916030596/ex4-3.htm" style="-sec-extract:exhibit;">Term Loan A Note in the amount of $1,816,609 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.3 to the Company&#x2019;s Current Report on Form 8-K/A filed May 3, 2016).</a></p>
			</td>
		</tr>

</tbody></table>

<p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">&#xa0;</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-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">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">&#xa0;</p>

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

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

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

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

		<tbody><tr>
			<td style="vertical-align:top;width:8.3%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">4.6</p>
			</td>
			<td style="vertical-align:bottom;width:51.4%;">
			<p style="font-family:Times New Roman;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;">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&#x2019;s Current Report on Form 8-K/A filed May 3, 2016).</a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">&#xa0;</td>
			<td style="vertical-align:bottom;width:51.4%;">&#xa0;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">4.7</p>
			</td>
			<td style="vertical-align:bottom;width:51.4%;">
			<p style="font-family:Times New Roman;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;">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&#x2019;s Current Report on Form 8-K/A filed May 3, 2016).</a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">&#xa0;</td>
			<td style="vertical-align:bottom;width:51.4%;">&#xa0;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">4.8</p>
			</td>
			<td style="vertical-align:bottom;width:51.4%;">
			<p style="font-family:Times New Roman;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;">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&#x2019;s Current Report on Form 8-K/A filed May 3, 2016).</a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">&#xa0;</td>
			<td style="vertical-align:bottom;width:51.4%;">&#xa0;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">4.9</p>
			</td>
			<td style="vertical-align:bottom;width:51.4%;">
			<p style="font-family:Times New Roman;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;">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&#x2019;s Quarterly Report on Form 10-Q for the second quarter ended April 30, 2018).</a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">&#xa0;</td>
			<td style="vertical-align:bottom;width:51.4%;">&#xa0;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">4.10</p>
			</td>
			<td style="vertical-align:bottom;width:51.4%;">
			<p style="font-family:Times New Roman;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;">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&#x2019;s Quarterly Report on Form 10-Q for the second quarter ended April 30, 2018).</a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">&#xa0;</td>
			<td style="vertical-align:bottom;width:51.4%;">&#xa0;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">4.11</p>
			</td>
			<td style="vertical-align:bottom;width:51.4%;">
			<p style="font-family:Times New Roman;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;">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&#x2019;s Current Report on Form 8-K dated July 30, 2020).</a></p>
			</td>
		</tr>

</tbody></table>

<p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">&#xa0;</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-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">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">&#xa0;</p>

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

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

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

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

		<tbody><tr>
			<td style="vertical-align:top;width:8.3%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">4.12</p>
			</td>
			<td style="vertical-align:bottom;width:51.4%;">
			<p style="font-family:Times New Roman;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;">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&#x2019;s Current Report on Form 8-K dated July 30, 2020).</a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">&#xa0;</td>
			<td style="vertical-align:bottom;width:51.4%;">&#xa0;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">4.13</p>
			</td>
			<td style="vertical-align:bottom;width:51.4%;">
			<p style="font-family:Times New Roman;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;">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&#x2019;s Current Report on Form 8-K dated July 30, 2020).</a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">&#xa0;</td>
			<td style="vertical-align:bottom;width:51.4%;">&#xa0;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">4.14</p>
			</td>
			<td style="vertical-align:bottom;width:51.4%;">
			<p style="font-family:Times New Roman;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;">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&#x2019;s Form 8-A12G filed with the Commission on November 5, 2021).</a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">&#xa0;</td>
			<td style="vertical-align:bottom;width:51.4%;">&#xa0;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">4.15</p>
			</td>
			<td style="vertical-align:bottom;width:51.4%;">
			<p style="font-family:Times New Roman;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;">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&#x2019;s Current Report on Form 8-K dated July 7, 2022).</a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">&#xa0;</td>
			<td style="vertical-align:bottom;width:51.4%;">&#xa0;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">10.1*</p>
			</td>
			<td style="vertical-align:bottom;width:51.4%;">
			<p style="font-family:Times New Roman;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;">Optical Cable Corporation 2017 Stock Incentive Plan (incorporated by reference to Appendix A to the Company&#x2019;s definitive proxy statement on Form 14A filed March 13, 2017).</a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">&#xa0;</td>
			<td style="vertical-align:bottom;width:52.3%;">&#xa0;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">10.2*</p>
			</td>
			<td style="vertical-align:bottom;width:52.3%;">
			<p style="font-family:Times New Roman;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;">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&#x2019;s Current Report on Form 8-K filed April 15, 2011).</a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">&#xa0;</td>
			<td style="vertical-align:bottom;width:52.3%;">&#xa0;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">10.3*</p>
			</td>
			<td style="vertical-align:bottom;width:52.3%;">
			<p style="font-family:Times New Roman;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;">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&#x2019;s Quarterly Report on Form 10-Q for the period ended January 31, 2013 filed March 15, 2013).</a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">&#xa0;</td>
			<td style="vertical-align:bottom;width:52.3%;">&#xa0;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">10.4*</p>
			</td>
			<td style="vertical-align:bottom;width:52.3%;">
			<p style="font-family:Times New Roman;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;">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&#x2019;s Quarterly Report on Form 10-Q for the period ended January 31, 2014 filed March 17, 2014).</a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">&#xa0;</td>
			<td style="vertical-align:bottom;width:52.3%;">&#xa0;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">10.5*</p>
			</td>
			<td style="vertical-align:bottom;width:52.3%;">
			<p style="font-family:Times New Roman;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;">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&#x2019;s Current Report on Form 8-K filed April 15, 2011).</a></p>
			</td>
		</tr>

</tbody></table>

<p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;;">&#xa0;</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;">33</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-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">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">&#xa0;</p>

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

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

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

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

		<tbody><tr>
			<td style="vertical-align:top;width:8.3%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">10.6*</p>
			</td>
			<td style="vertical-align:bottom;width:52.3%;">
			<p style="font-family:Times New Roman;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;">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&#x2019;s Quarterly Report on Form 10-Q for the period ended January 31, 2013 filed March 15, 2013).</a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">&#xa0;</td>
			<td style="vertical-align:bottom;width:52.3%;">&#xa0;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">10.7*</p>
			</td>
			<td style="vertical-align:bottom;width:52.3%;">
			<p style="font-family:Times New Roman;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;">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&#x2019;s Quarterly Report on Form 10-Q for the period ended January 31, 2014 filed March 17, 2014).</a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">&#xa0;</td>
			<td style="vertical-align:bottom;width:52.3%;">&#xa0;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">10.8*</p>
			</td>
			<td style="vertical-align:bottom;width:52.3%;">
			<p style="font-family:Times New Roman;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;">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&#x2019;s Quarterly Report on Form 10-Q for the period ended April 30, 2017 filed June 13, 2017).</a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">&#xa0;</td>
			<td style="vertical-align:bottom;width:52.3%;">&#xa0;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">10.9*</p>
			</td>
			<td style="vertical-align:bottom;width:52.3%;">
			<p style="font-family:Times New Roman;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;">Form of operational performance (Company financial performance measure) vesting award agreement under the Optical Cable Corporation 2017 Stock Incentive Plan (incorporated herein by reference to Exhibit 10.15 of the Company&#x2019;s Annual Report on Form 10-K for the period ended October 31, 2021 filed December 20, 2021). <span style="text-decoration: underline; ">&#xa0;</span></a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">&#xa0;</td>
			<td style="vertical-align:bottom;width:52.3%;">&#xa0;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">10.10*</p>
			</td>
			<td style="vertical-align:bottom;width:52.3%;">
			<p style="font-family:Times New Roman;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;">First Amendment to the Optical Cable Corporation 2017 Stock Incentive Plan effective March 29, 2022 (incorporated herein by reference to Exhibit 10.16 of the Company&#x2019;s Quarterly Report on Form 10-Q for the period ended July 31, 2022 filed September 12, 2022).</a></p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">&#xa0;</td>
			<td style="vertical-align:bottom;width:52.3%;">&#xa0;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">11.1</p>
			</td>
			<td style="vertical-align:bottom;width:52.3%;">
			<p style="font-family:Times New Roman;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%;">&#xa0;</td>
			<td style="vertical-align:bottom;width:52.3%;">&#xa0;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">31.1</p>
			</td>
			<td style="vertical-align:bottom;width:52.3%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"><a href="ex_529447.htm" style="-sec-extract:exhibit;">Certification of the Company&#x2019;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%;">&#xa0;</td>
			<td style="vertical-align:bottom;width:52.3%;">&#xa0;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">31.2</p>
			</td>
			<td style="vertical-align:bottom;width:52.3%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"><a href="ex_529448.htm" style="-sec-extract:exhibit;">Certification of the Company&#x2019;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%;">&#xa0;</td>
			<td style="vertical-align:bottom;width:52.3%;">&#xa0;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">32.1</p>
			</td>
			<td style="vertical-align:bottom;width:52.3%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"><a href="ex_529449.htm" style="-sec-extract:exhibit;">Certification of the Company&#x2019;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%;">&#xa0;</td>
			<td style="vertical-align:bottom;width:52.3%;">&#xa0;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">32.2</p>
			</td>
			<td style="vertical-align:bottom;width:52.3%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;"><a href="ex_529450.htm" style="-sec-extract:exhibit;">Certification of the Company&#x2019;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%;">&#xa0;</td>
			<td style="vertical-align:bottom;width:52.3%;">&#xa0;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">101</p>
			</td>
			<td style="vertical-align:bottom;width:52.3%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">The following materials from the Company&#x2019;s Quarterly Report on Form 10-Q for the quarter ended April 30, 2023, formatted in iXBRL (Inline eXtensible Business Reporting Language): (i) Condensed Consolidated Balance Sheets at April 30, 2023 and October 31, 2022, (ii) Condensed Consolidated Statements of Operations for the three months and six months ended April 30, 2023 and 2022, (iii) Condensed Consolidated Statements of Shareholders&#x2019;&#xa0;Equity for the three months and six month ended April 30, 2023 and 2022, (iv) Condensed Consolidated Statements of Cash Flows for the six months ended April 30, 2023 and 2022, and (v) Condensed Notes to Condensed Consolidated Financial Statements. FILED HEREWITH.</p>
			</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">&#xa0;</td>
			<td style="vertical-align:bottom;width:52.3%;">&#xa0;</td>
		</tr>
		<tr>
			<td style="vertical-align:top;width:8.3%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">104</p>
			</td>
			<td style="vertical-align:bottom;width:52.3%;">
			<p style="font-family:Times New Roman;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;">&#xa0;</p>

<hr style="text-align: left; height: 1px; color: #000000; background-color: #000000; width: 10%; border: none; margin: 3pt auto 3pt 0" />
<p style="margin: 0pt; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#xa0;</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:1%;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt;">*</p>
			</td>
			<td style="vertical-align:top;width:auto;">
			<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>
			</td>
		</tr>

</tbody></table>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;">&#xa0;</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;">34</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-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">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">&#xa0;</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;">&#xa0;</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;">&#xa0;</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%;">&#xa0;</td>
			<td style="width: 50%;"><b>OPTICAL CABLE CORPORATION</b><br />
			(Registrant)</td>
		</tr>
		<tr>
			<td>&#xa0;</td>
			<td>&#xa0;</td>
		</tr>
		<tr>
			<td>&#xa0;</td>
			<td>&#xa0;</td>
		</tr>
		<tr>
			<td>Date: June 12, 2023</td>
			<td style="border-bottom: 1px solid rgb(0, 0, 0);">/s/ Neil D. Wilkin, Jr.</td>
		</tr>
		<tr>
			<td>&#xa0;</td>
			<td>Neil D. Wilkin, Jr.</td>
		</tr>
		<tr>
			<td>&#xa0;</td>
			<td>
			<p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">Chairman of the Board of Directors,</p>

			<p style="margin: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif;">President and Chief Executive Officer</p>
			</td>
		</tr>
		<tr>
			<td>&#xa0;</td>
			<td>&#xa0;</td>
		</tr>
		<tr>
			<td>&#xa0;</td>
			<td>&#xa0;</td>
		</tr>
		<tr>
			<td>Date: June 12, 2023</td>
			<td style="border-bottom: 1px solid rgb(0, 0, 0);">/s/ Tracy G. Smith</td>
		</tr>
		<tr>
			<td>&#xa0;</td>
			<td>Tracy G. Smith</td>
		</tr>
		<tr>
			<td>&#xa0;</td>
			<td>Senior Vice President and Chief Financial Officer</td>
		</tr>

</tbody></table>

<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 306pt;">&#xa0;</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;">35</div>
</div>
</div>
</div>


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

	<!-- Generated by ThunderDome Portal - 6/3/2023 12:36:28 AM --><meta charset="utf-8"><meta name="format-detection" content="telephone=no">
</head>
<body style="font-size:10pt;font-family:'Times New Roman';padding:0in .1in;">
<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%; text-indent: 0px;">

		<tr style="vertical-align: top;">
			<td style="width: 18pt;">&nbsp;</td>
			<td style="width: 18pt;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">1.</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;">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%; text-indent: 0px;">

		<tr style="vertical-align: top;">
			<td style="width: 18pt;">&nbsp;</td>
			<td style="width: 18pt;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">2.</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;">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%; text-indent: 0px;">

		<tr style="vertical-align: top;">
			<td style="width: 18pt;">&nbsp;</td>
			<td style="width: 18pt;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">3.</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;">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%; text-indent: 0px;">

		<tr style="vertical-align: top;">
			<td style="width: 18pt;">&nbsp;</td>
			<td style="width: 18pt;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">4.</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;">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%; text-indent: 0px;">

		<tr style="vertical-align: top;">
			<td style="width: 36pt;">&nbsp;</td>
			<td style="width: 18pt;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">a)</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;">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%; text-indent: 0px;">

		<tr style="vertical-align: top;">
			<td style="width: 36pt;">&nbsp;</td>
			<td style="width: 18pt;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">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;">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="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 61pt;text-indent:-18pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

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

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

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

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

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

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

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

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tr style="vertical-align: top;">
			<td style="width: 36pt;">&nbsp;</td>
			<td style="width: 18pt;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">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;">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>

<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="font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; width: 100%;">

		<tr>
			<td style="width: 65%;">Date: June 12, 2023</td>
			<td style="width: 35%; border-bottom: 1px solid rgb(0, 0, 0);">/s/ Neil D. Wilkin, Jr.</td>
		</tr>
		<tr>
			<td style="width: 65%;">&nbsp;</td>
			<td style="width: 35%;">
			<p style="margin: 0pt;">Neil D. Wilkin, Jr.<br>
			Chairman of the Board of Directors, President</p>

			<p style="margin: 0pt;">and Chief Executive Officer</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>

<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_529448.htm
<DESCRIPTION>EXHIBIT 31.2
<TEXT>
<html><head>
	<title>ex_529448.htm</title>

	<!-- Generated by ThunderDome Portal - 6/3/2023 12:38:04 AM --><meta charset="utf-8"><meta name="format-detection" content="telephone=no">
</head>
<body style="font-size:10pt;font-family:'Times New Roman';padding:0in .1in;">
<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%; text-indent: 0px;">

		<tr style="vertical-align: top;">
			<td style="width: 18pt;">&nbsp;</td>
			<td style="width: 18pt;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">1.</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;">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%; text-indent: 0px;">

		<tr style="vertical-align: top;">
			<td style="width: 18pt;">&nbsp;</td>
			<td style="width: 18pt;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">2.</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;">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%; text-indent: 0px;">

		<tr style="vertical-align: top;">
			<td style="width: 18pt;">&nbsp;</td>
			<td style="width: 18pt;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">3.</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;">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%; text-indent: 0px;">

		<tr style="vertical-align: top;">
			<td style="width: 18pt;">&nbsp;</td>
			<td style="width: 18pt;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">4.</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;">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%; text-indent: 0px;">

		<tr style="vertical-align: top;">
			<td style="width: 36pt;">&nbsp;</td>
			<td style="width: 18pt;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">a)</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;">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%; text-indent: 0px;">

		<tr style="vertical-align: top;">
			<td style="width: 36pt;">&nbsp;</td>
			<td style="width: 18pt;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">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;">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="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 61pt;text-indent:-18pt;">&nbsp;</p>

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

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

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

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

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

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

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

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

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;">

		<tr style="vertical-align: top;">
			<td style="width: 36pt;">&nbsp;</td>
			<td style="width: 18pt;">
			<p style="margin: 0pt; text-align: left; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">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;">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>

<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="font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; width: 100%;">

		<tr>
			<td style="width: 65%;">Date: June 12, 2023</td>
			<td style="width: 35%; border-bottom: 1px solid rgb(0, 0, 0);">/s/ Tracy G. Smith</td>
		</tr>
		<tr>
			<td style="width: 65%;">&nbsp;</td>
			<td style="width: 35%;">
			<p style="margin: 0pt;">Tracy G. Smith<br>
			Senior Vice President and</p>

			<p style="margin: 0pt;">Chief Financial Officer</p>
			</td>
		</tr>

</table>

<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_529449.htm
<DESCRIPTION>EXHIBIT 32.1
<TEXT>
<html><head>
	<title>ex_529449.htm</title>

	<!-- Generated by ThunderDome Portal - 6/3/2023 12:38:52 AM --><meta charset="utf-8"><meta name="format-detection" content="telephone=no">
</head>
<body style="font-size:10pt;font-family:'Times New Roman';padding:0in .1in;">
<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, 2023 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, 2023, 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="font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; width: 100%;">

		<tr>
			<td style="width: 65%;">Date: June 12, 2023</td>
			<td style="width: 35%; border-bottom: 1px solid rgb(0, 0, 0);">/s/ Neil D. Wilkin, Jr.</td>
		</tr>
		<tr>
			<td style="width: 65%;">&nbsp;</td>
			<td style="width: 35%;">
			<p style="margin: 0pt;">Neil D. Wilkin, Jr.<br>
			Chairman of the Board of Directors,</p>

			<p style="margin: 0pt;">President and Chief Executive Officer</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;text-align:right;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_529450.htm
<DESCRIPTION>EXHIBIT 32.2
<TEXT>
<html><head>
	<title>ex_529450.htm</title>

	<!-- Generated by ThunderDome Portal - 6/3/2023 12:39:34 AM --><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, 2023 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, 2023, 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="font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; width: 100%;">

		<tr>
			<td style="width: 65%;">Date: June 12, 2023</td>
			<td style="width: 35%; border-bottom: 1px solid rgb(0, 0, 0);">/s/ Tracy G. Smith</td>
		</tr>
		<tr>
			<td style="width: 65%;">&nbsp;</td>
			<td style="width: 35%;">
			<p style="margin: 0pt;">Tracy G. Smith<br>
			Senior Vice President and</p>

			<p style="margin: 0pt;">Chief Financial Officer</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-101.SCH
<SEQUENCE>6
<FILENAME>occ-20230430.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome XBRL - 11:46PM UTC 2023-06-07--><xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:country="http://xbrl.sec.gov/country/2023" xmlns:currency="http://xbrl.sec.gov/currency/2023" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21" xmlns:exch="http://xbrl.sec.gov/exch/2023" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:naics="http://xbrl.sec.gov/naics/2023" xmlns:occ="http://http/20230430" xmlns:sic="http://xbrl.sec.gov/sic/2023" xmlns:srt="http://fasb.org/srt/2023" xmlns:srt-types="http://fasb.org/srt-types/2023" xmlns:stpr="http://xbrl.sec.gov/stpr/2023" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:us-types="http://fasb.org/us-types/2023" 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/20230430">
  <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/2023" schemaLocation="https://xbrl.sec.gov/naics/2023/naics-2023.xsd"/>
  <xsd:import namespace="http://xbrl.sec.gov/country/2023" schemaLocation="https://xbrl.sec.gov/country/2023/country-2023.xsd"/>
  <xsd:import namespace="http://xbrl.sec.gov/exch/2023" schemaLocation="https://xbrl.sec.gov/exch/2023/exch-2023.xsd"/>
  <xsd:import namespace="http://xbrl.sec.gov/dei/2023" schemaLocation="https://xbrl.sec.gov/dei/2023/dei-2023.xsd"/>
  <xsd:import namespace="http://fasb.org/srt/2023" schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd"/>
  <xsd:import namespace="http://xbrl.sec.gov/sic/2023" schemaLocation="https://xbrl.sec.gov/sic/2023/sic-2023.xsd"/>
  <xsd:import namespace="http://fasb.org/us-types/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.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/2023" schemaLocation="https://xbrl.sec.gov/stpr/2023/stpr-2023.xsd"/>
  <xsd:import namespace="http://fasb.org/srt-types/2023" schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd"/>
  <xsd:import namespace="http://fasb.org/us-gaap/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd"/>
  <xsd:import namespace="http://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.sec.gov/currency/2023" schemaLocation="https://xbrl.sec.gov/currency/2023/currency-2023.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-20230430_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-20230430_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-20230430_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-20230430_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/20230430/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/20230430/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/20230430/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/20230430/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/20230430/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/20230430/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/20230430/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/20230430/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-doubtful-accounts-for-trade-accounts-receivable" roleURI="http://http/20230430/role/statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">008 - Disclosure - Note 3 - Allowance for Doubtful Accounts 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/20230430/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/20230430/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/20230430/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/20230430/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/20230430/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/20230430/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/20230430/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/20230430/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-restricted-cash-and-gain-on-insurance-proceeds" roleURI="http://http/20230430/role/statement-note-12-restricted-cash-and-gain-on-insurance-proceeds">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">017 - Disclosure - Note 12 - Restricted Cash and Gain on Insurance Proceeds</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-contingencies" roleURI="http://http/20230430/role/statement-note-13-contingencies">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">018 - Disclosure - Note 13 - 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-14-new-accounting-standards-not-yet-adopted" roleURI="http://http/20230430/role/statement-note-14-new-accounting-standards-not-yet-adopted">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">019 - Disclosure - Note 14 - 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-doubtful-accounts-for-trade-accounts-receivable-tables" roleURI="http://http/20230430/role/statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">020 - Disclosure - Note 3 - Allowance for Doubtful Accounts 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/20230430/role/statement-note-4-inventories-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">021 - 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/20230430/role/statement-note-5-product-warranties-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">022 - 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-6-longterm-debt-and-notes-payable-tables" roleURI="http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">023 - Disclosure - Note 6 - Long-term Debt and Notes Payable (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/20230430/role/statement-note-7-leases-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">024 - 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/20230430/role/statement-note-9-net-income-loss-per-share-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">025 - 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/20230430/role/statement-note-11-revenue-recognition-tables">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">026 - 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/20230430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">027 - 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-doubtful-accounts-for-trade-accounts-receivable-summary-of-changes-in-the-allowance-for-doubtful-accounts-for-trade-accounts-receivable-details" roleURI="http://http/20230430/role/statement-note-3-allowance-for-doubtful-accounts-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">028 - Disclosure - Note 3 - Allowance for Doubtful Accounts 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/20230430/role/statement-note-4-inventories-components-of-inventories-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">029 - 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/20230430/role/statement-note-5-product-warranties-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">030 - 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/20230430/role/statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">031 - 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/20230430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">032 - 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-6-longterm-debt-and-notes-payable-longterm-debt-details" roleURI="http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">033 - Disclosure - Note 6 - Long-term Debt and Notes Payable - Long-term Debt (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-longterm-debt-details-parentheticals" roleURI="http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details-parentheticals">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">034 - Disclosure - Note 6 - Long-term Debt and Notes Payable - Long-term Debt (Details) (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-note-7-leases-details-textual" roleURI="http://http/20230430/role/statement-note-7-leases-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">035 - 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/20230430/role/statement-note-7-leases-future-payments-due-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">036 - 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/20230430/role/statement-note-9-net-income-loss-per-share-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">037 - 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/20230430/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">038 - 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/20230430/role/statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">039 - 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/20230430/role/statement-note-11-revenue-recognition-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">040 - 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-revenue-attributed-to-united-states-and-all-other-countries-details" roleURI="http://http/20230430/role/statement-note-11-revenue-recognition-revenue-attributed-to-united-states-and-all-other-countries-details">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">041 - Disclosure - Note 11 - Revenue Recognition - Revenue Attributed to United States and All Other Countries (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-12-restricted-cash-and-gain-on-insurance-proceeds-details-textual" roleURI="http://http/20230430/role/statement-note-12-restricted-cash-and-gain-on-insurance-proceeds-details-textual">
        <link:definition xmlns="http://www.xbrl.org/2003/linkbase">042 - Disclosure - Note 12 - Restricted Cash and Gain on Insurance Proceeds (Details Textual)</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 abstract="true" id="occ_AccountsPayableAndAccruedLiabilitiesCurrentMember" name="AccountsPayableAndAccruedLiabilitiesCurrentMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <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 abstract="true" id="occ_CustomerOneMember" name="CustomerOneMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" 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_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_NorthCarolinaRealEstateLoanMember" name="NorthCarolinaRealEstateLoanMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <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_PinnacleFinancialPartnersMember" name="PinnacleFinancialPartnersMember" 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_VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember" name="VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" 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_WaterDamageFromPipeBurstMember" name="WaterDamageFromPipeBurstMember" nillable="true" substitutionGroup="xbrli:item" type="dtr-types:domainItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="occ_statement-statement-note-11-revenue-recognition-revenue-attributed-to-united-states-and-all-other-countries-details" name="statement-statement-note-11-revenue-recognition-revenue-attributed-to-united-states-and-all-other-countries-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-doubtful-accounts-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-doubtful-accounts-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-doubtful-accounts-for-trade-accounts-receivable-tables" name="statement-statement-note-3-allowance-for-doubtful-accounts-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-6-longterm-debt-and-notes-payable-longterm-debt-details" name="statement-statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="occ_statement-statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details-parentheticals" name="statement-statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details-parentheticals" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration"/>
  <xsd:element abstract="true" id="occ_statement-statement-note-6-longterm-debt-and-notes-payable-tables" name="statement-statement-note-6-longterm-debt-and-notes-payable-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-20230430_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome XBRL - 11:46PM UTC 2023-06-07--><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/20230430/role/statement-note-14-new-accounting-standards-not-yet-adopted" xlink:href="occ-20230430.xsd#statement-note-14-new-accounting-standards-not-yet-adopted" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20230430/role/statement-note-14-new-accounting-standards-not-yet-adopted" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230430/role/statement-note-13-contingencies" xlink:href="occ-20230430.xsd#statement-note-13-contingencies" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20230430/role/statement-note-13-contingencies" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230430/role/statement-note-8-fair-value-measurements" xlink:href="occ-20230430.xsd#statement-note-8-fair-value-measurements" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20230430/role/statement-note-8-fair-value-measurements" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="us-gaap_FairValueDisclosuresTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230430/role/statement-note-1-general" xlink:href="occ-20230430.xsd#statement-note-1-general" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20230430/role/statement-note-1-general" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230430/role/statement-document-and-entity-information" xlink:href="occ-20230430.xsd#statement-document-and-entity-information" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20230430/role/statement-document-and-entity-information" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentQuarterlyReport" xlink:label="dei_DocumentQuarterlyReport" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="dei_DocumentType" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.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/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited" xlink:href="occ-20230430.xsd#statement-condensed-consolidated-balance-sheets-unaudited" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LoansPayableCurrent" xlink:label="us-gaap_LoansPayableCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermLineOfCredit" xlink:label="us-gaap_LongTermLineOfCredit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermLoansPayable" xlink:label="us-gaap_LongTermLoansPayable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherReceivables" xlink:label="us-gaap_OtherReceivables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCash" xlink:label="us-gaap_RestrictedCash" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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_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_RestrictedCash" 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_AccountsReceivableNetCurrent" 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="2" 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="3" 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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" 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/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited-parentheticals" xlink:href="occ-20230430.xsd#statement-condensed-consolidated-balance-sheets-unaudited-parentheticals" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited-parentheticals" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockNoParValue" xlink:label="us-gaap_CommonStockNoParValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockNoParValue" xlink:label="us-gaap_PreferredStockNoParValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="us-gaap_PreferredStockSharesAuthorized" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="us-gaap_PreferredStockSharesIssued" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="us-gaap_PreferredStockSharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230430/role/statement-condensed-consolidated-statements-of-operations-unaudited-" xlink:href="occ-20230430.xsd#statement-condensed-consolidated-statements-of-operations-unaudited-" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20230430/role/statement-condensed-consolidated-statements-of-operations-unaudited-" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_RoyaltyRevenueExpense" xlink:label="occ_RoyaltyRevenueExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherIncomeAndExpensesAbstract" xlink:label="us-gaap_OtherIncomeAndExpensesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230430/role/statement-condensed-consolidated-statements-of-shareholders-equity-unaudited" xlink:href="occ-20230430.xsd#statement-condensed-consolidated-statements-of-shareholders-equity-unaudited" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20230430/role/statement-condensed-consolidated-statements-of-shareholders-equity-unaudited" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" xlink:href="occ-20230430.xsd#statement-condensed-consolidated-statements-of-cash-flows-unaudited" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_PinnacleFinancialPartnersMember" xlink:label="occ_PinnacleFinancialPartnersMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember" xlink:label="occ_VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeasePrincipalPayments" xlink:label="us-gaap_FinanceLeasePrincipalPayments" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherReceivables" xlink:label="us-gaap_IncreaseDecreaseInOtherReceivables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfFinancingCosts" xlink:label="us-gaap_PaymentsOfFinancingCosts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireIntangibleAssets" xlink:label="us-gaap_PaymentsToAcquireIntangibleAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromInsuranceSettlementInvestingActivities" xlink:label="us-gaap_ProceedsFromInsuranceSettlementInvestingActivities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromNotesPayable" xlink:label="us-gaap_ProceedsFromNotesPayable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfNotesPayable" xlink:label="us-gaap_RepaymentsOfNotesPayable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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_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_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_PinnacleFinancialPartnersMember" 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_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_VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember" 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="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/20230430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation" xlink:href="occ-20230430.xsd#statement-note-2-stock-incentive-plans-and-other-sharebased-compensation" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20230430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_EmployeesConsultantAndNonemployeeDirectorsMember" xlink:label="occ_EmployeesConsultantAndNonemployeeDirectorsMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_Plan2017Member" xlink:label="occ_Plan2017Member" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockMember" xlink:label="us-gaap_RestrictedStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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_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_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="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/20230430/role/statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable" xlink:href="occ-20230430.xsd#statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20230430/role/statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_AllowanceForDoubtfulAccountsForTradeAccountsReceivableDisclosureTextBlock" xlink:label="occ_AllowanceForDoubtfulAccountsForTradeAccountsReceivableDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230430/role/statement-note-4-inventories" xlink:href="occ-20230430.xsd#statement-note-4-inventories" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20230430/role/statement-note-4-inventories" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="us-gaap_InventoryDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230430/role/statement-note-5-product-warranties" xlink:href="occ-20230430.xsd#statement-note-5-product-warranties" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20230430/role/statement-note-5-product-warranties" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyDisclosureTextBlock" xlink:label="us-gaap_ProductWarrantyDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230430/role/statement-note-6-longterm-debt-and-notes-payable-" xlink:href="occ-20230430.xsd#statement-note-6-longterm-debt-and-notes-payable-" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_NorthCarolinaRealEstateLoanMember" xlink:label="occ_NorthCarolinaRealEstateLoanMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_NorthMillCapitalLlcMember" xlink:label="occ_NorthMillCapitalLlcMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_PinnacleFinancialPartnersMember" xlink:label="occ_PinnacleFinancialPartnersMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember" xlink:label="occ_VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_VirginiaRealEstateLoanMember" xlink:label="occ_VirginiaRealEstateLoanMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtTextBlock" xlink:label="us-gaap_LongTermDebtTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrimeRateMember" xlink:label="us-gaap_PrimeRateMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain-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="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_VariableRateAxis" xlink:to="us-gaap_VariableRateDomain" 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_PinnacleFinancialPartnersMember" 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_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_VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember" 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/domain-member" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="occ_VirginiaRealEstateLoanMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="occ_NorthCarolinaRealEstateLoanMember" 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="1" 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="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_VariableRateAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_VariableRateDomain" xlink:to="us-gaap_PrimeRateMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateDomain-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="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_MaximumMember" 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="5" 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/20230430/role/statement-note-7-leases" xlink:href="occ-20230430.xsd#statement-note-7-leases" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20230430/role/statement-note-7-leases" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_AccountsPayableAndAccruedLiabilitiesCurrentMember" xlink:label="occ_AccountsPayableAndAccruedLiabilitiesCurrentMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_LesseeOperatingAndFinanceLeasesDisclosureTextBlock" xlink:label="occ_LesseeOperatingAndFinanceLeasesDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_OperatingLeaseForOfficeEquipmentMember" xlink:label="occ_OperatingLeaseForOfficeEquipmentMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_OperatingLeaseForOfficeManufacturingAndWarehouseSpaceInPlanoTexasMember" xlink:label="occ_OperatingLeaseForOfficeManufacturingAndWarehouseSpaceInPlanoTexasMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember" xlink:label="occ_OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseContractualTermAxis" xlink:label="us-gaap_LeaseContractualTermAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseContractualTermDomain" xlink:label="us-gaap_LeaseContractualTermDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseContractualTermDomain" xlink:label="us-gaap_LeaseContractualTermDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsMember" xlink:label="us-gaap_OtherAssetsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNoncurrentLiabilitiesMember" xlink:label="us-gaap_OtherNoncurrentLiabilitiesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/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="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_OtherAssetsMember" 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/domain-member" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_OtherNoncurrentLiabilitiesMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="occ_AccountsPayableAndAccruedLiabilitiesCurrentMember" 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="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/20230430/role/statement-note-9-net-income-loss-per-share" xlink:href="occ-20230430.xsd#statement-note-9-net-income-loss-per-share" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20230430/role/statement-note-9-net-income-loss-per-share" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230430/role/statement-note-10-segment-information-and-business-and-credit-concentrations" xlink:href="occ-20230430.xsd#statement-note-10-segment-information-and-business-and-credit-concentrations" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20230430/role/statement-note-10-segment-information-and-business-and-credit-concentrations" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_CustomerOneMember" xlink:label="occ_CustomerOneMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_OneCustomerMember" xlink:label="occ_OneCustomerMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskDisclosureTextBlock" xlink:label="us-gaap_ConcentrationRiskDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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_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="1" 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="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_CustomerOneMember" 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="1" 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="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/20230430/role/statement-note-11-revenue-recognition" xlink:href="occ-20230430.xsd#statement-note-11-revenue-recognition" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20230430/role/statement-note-11-revenue-recognition" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="country_US" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonUsMember" xlink:label="us-gaap_NonUsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230430/role/statement-note-12-restricted-cash-and-gain-on-insurance-proceeds" xlink:href="occ-20230430.xsd#statement-note-12-restricted-cash-and-gain-on-insurance-proceeds" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20230430/role/statement-note-12-restricted-cash-and-gain-on-insurance-proceeds" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_WaterDamageFromPipeBurstMember" xlink:label="occ_WaterDamageFromPipeBurstMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnusualOrInfrequentItemAxis" xlink:label="us-gaap_UnusualOrInfrequentItemAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnusualOrInfrequentItemDomain" xlink:label="us-gaap_UnusualOrInfrequentItemDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnusualOrInfrequentItemDomain" xlink:label="us-gaap_UnusualOrInfrequentItemDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnusualOrInfrequentItemsDisclosureTextBlock" xlink:label="us-gaap_UnusualOrInfrequentItemsDisclosureTextBlock" 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_UnusualOrInfrequentItemAxis" xlink:to="us-gaap_UnusualOrInfrequentItemDomain" 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_UnusualOrInfrequentItemAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_UnusualOrInfrequentItemDomain" xlink:to="occ_WaterDamageFromPipeBurstMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_UnusualOrInfrequentItemAxis" xlink:to="us-gaap_UnusualOrInfrequentItemDomain-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_UnusualOrInfrequentItemsDisclosureTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://http/20230430/role/statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable-tables" xlink:href="occ-20230430.xsd#statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20230430/role/statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_SummaryOfChangesInAllowanceForDoubtfulAccountsForTradeAccountsReceivableTableTextBlock" xlink:label="occ_SummaryOfChangesInAllowanceForDoubtfulAccountsForTradeAccountsReceivableTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230430/role/statement-note-4-inventories-tables" xlink:href="occ-20230430.xsd#statement-note-4-inventories-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20230430/role/statement-note-4-inventories-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230430/role/statement-note-5-product-warranties-tables" xlink:href="occ-20230430.xsd#statement-note-5-product-warranties-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20230430/role/statement-note-5-product-warranties-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:label="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230430/role/statement-note-6-longterm-debt-and-notes-payable-tables" xlink:href="occ-20230430.xsd#statement-note-6-longterm-debt-and-notes-payable-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfDebtTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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_ScheduleOfDebtTableTextBlock" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://http/20230430/role/statement-note-7-leases-tables" xlink:href="occ-20230430.xsd#statement-note-7-leases-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20230430/role/statement-note-7-leases-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_LesseeLeaseLiabilityMaturityTableTextBlock" xlink:label="occ_LesseeLeaseLiabilityMaturityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230430/role/statement-note-9-net-income-loss-per-share-tables" xlink:href="occ-20230430.xsd#statement-note-9-net-income-loss-per-share-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20230430/role/statement-note-9-net-income-loss-per-share-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230430/role/statement-note-11-revenue-recognition-tables" xlink:href="occ-20230430.xsd#statement-note-11-revenue-recognition-tables" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20230430/role/statement-note-11-revenue-recognition-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock" xlink:label="us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual" xlink:href="occ-20230430.xsd#statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20230430/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/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_EmployeesConsultantAndNonemployeeDirectorsMember" xlink:label="occ_EmployeesConsultantAndNonemployeeDirectorsMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_Plan2017Member" xlink:label="occ_Plan2017Member" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockMember" xlink:label="us-gaap_RestrictedStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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_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_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="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_SharesPaidForTaxWithholdingForShareBasedCompensation" 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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" 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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://http/20230430/role/statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable-summary-of-changes-in-the-allowance-for-doubtful-accounts-for-trade-accounts-receivable-details" xlink:href="occ-20230430.xsd#statement-note-3-allowance-for-doubtful-accounts-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/20230430/role/statement-note-3-allowance-for-doubtful-accounts-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/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230430/role/statement-note-4-inventories-components-of-inventories-details" xlink:href="occ-20230430.xsd#statement-note-4-inventories-components-of-inventories-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20230430/role/statement-note-4-inventories-components-of-inventories-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventorySuppliesNetOfReserves" xlink:label="us-gaap_InventorySuppliesNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230430/role/statement-note-5-product-warranties-details-textual" xlink:href="occ-20230430.xsd#statement-note-5-product-warranties-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20230430/role/statement-note-5-product-warranties-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyAccrual" xlink:label="us-gaap_ProductWarrantyAccrual" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyExpense" xlink:label="us-gaap_ProductWarrantyExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230430/role/statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details" xlink:href="occ-20230430.xsd#statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20230430/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/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyAccrual" xlink:label="us-gaap_ProductWarrantyAccrual" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyAccrualPayments" xlink:label="us-gaap_ProductWarrantyAccrualPayments" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:label="us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:label="us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual" xlink:href="occ-20230430.xsd#statement-note-6-longterm-debt-and-notes-payable-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_DebtInstrumentTermExtensions" xlink:label="occ_DebtInstrumentTermExtensions" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_LineOfCreditFacilityAdditionalCapacityForAdvances" xlink:label="occ_LineOfCreditFacilityAdditionalCapacityForAdvances" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_LineOfCreditFacilityPercentOfEligibleAccounts" xlink:label="occ_LineOfCreditFacilityPercentOfEligibleAccounts" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_LineOfCreditFacilityPercentOfEligibleInventory" xlink:label="occ_LineOfCreditFacilityPercentOfEligibleInventory" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_LineOfCreditFacilityRestrictedCapacityForAdvances" xlink:label="occ_LineOfCreditFacilityRestrictedCapacityForAdvances" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_NorthMillCapitalLlcMember" xlink:label="occ_NorthMillCapitalLlcMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_PinnacleFinancialPartnersMember" xlink:label="occ_PinnacleFinancialPartnersMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember" xlink:label="occ_VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrimeRateMember" xlink:label="us-gaap_PrimeRateMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain-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="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_VariableRateAxis" xlink:to="us-gaap_VariableRateDomain" 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_PinnacleFinancialPartnersMember" 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_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_VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember" 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="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="1" 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="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_VariableRateAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_VariableRateDomain" xlink:to="us-gaap_PrimeRateMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateDomain-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="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_MaximumMember" 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="5" 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_DebtInstrumentInterestRateStatedPercentage" 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_LineOfCreditFacilityPercentOfEligibleAccounts" 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="occ_LineOfCreditFacilityPercentOfEligibleInventory" 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="occ_LineOfCreditFacilityAdditionalCapacityForAdvances" 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_LineOfCreditFacilityRestrictedCapacityForAdvances" 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_LineOfCreditFacilityMaximumBorrowingCapacity" 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_DebtInstrumentBasisSpreadOnVariableRate1" 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_DebtInstrumentInterestRateEffectivePercentage" 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_DebtInstrumentTermExtensions" 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_LineOfCredit" 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_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details" xlink:href="occ-20230430.xsd#statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_NorthCarolinaRealEstateLoanMember" xlink:label="occ_NorthCarolinaRealEstateLoanMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_VirginiaRealEstateLoanMember" xlink:label="occ_VirginiaRealEstateLoanMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain" 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/domain-member" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="occ_NorthCarolinaRealEstateLoanMember" 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_LongTermDebt" 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_LongTermDebtCurrent" 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_LongTermDebtNoncurrent" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details-parentheticals" xlink:href="occ-20230430.xsd#statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details-parentheticals" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details-parentheticals" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_NorthCarolinaRealEstateLoanMember" xlink:label="occ_NorthCarolinaRealEstateLoanMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_VirginiaRealEstateLoanMember" xlink:label="occ_VirginiaRealEstateLoanMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentMaturityDate" xlink:label="us-gaap_DebtInstrumentMaturityDate" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentPeriodicPayment" xlink:label="us-gaap_DebtInstrumentPeriodicPayment" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentPeriodicPaymentTermsBalloonPaymentToBePaid" xlink:label="us-gaap_DebtInstrumentPeriodicPaymentTermsBalloonPaymentToBePaid" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain" 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/domain-member" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="occ_NorthCarolinaRealEstateLoanMember" 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_DebtInstrumentFaceAmount" 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_DebtInstrumentPeriodicPayment" 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_DebtInstrumentInterestRateStatedPercentage" 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_DebtInstrumentPeriodicPaymentTermsBalloonPaymentToBePaid" 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_DebtInstrumentMaturityDate" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://http/20230430/role/statement-note-7-leases-details-textual" xlink:href="occ-20230430.xsd#statement-note-7-leases-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20230430/role/statement-note-7-leases-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_AccountsPayableAndAccruedLiabilitiesCurrentMember" xlink:label="occ_AccountsPayableAndAccruedLiabilitiesCurrentMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_OperatingLeaseForOfficeEquipmentMember" xlink:label="occ_OperatingLeaseForOfficeEquipmentMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_OperatingLeaseForOfficeManufacturingAndWarehouseSpaceInPlanoTexasMember" xlink:label="occ_OperatingLeaseForOfficeManufacturingAndWarehouseSpaceInPlanoTexasMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember" xlink:label="occ_OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AreaOfRealEstateProperty" xlink:label="us-gaap_AreaOfRealEstateProperty" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseInterestExpense" xlink:label="us-gaap_FinanceLeaseInterestExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeasePrincipalPayments" xlink:label="us-gaap_FinanceLeasePrincipalPayments" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAsset" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseContractualTermAxis" xlink:label="us-gaap_LeaseContractualTermAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseContractualTermDomain" xlink:label="us-gaap_LeaseContractualTermDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseContractualTermDomain" xlink:label="us-gaap_LeaseContractualTermDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeFinanceLeaseDiscountRate" xlink:label="us-gaap_LesseeFinanceLeaseDiscountRate" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeFinanceLeaseRemainingLeaseTerm" xlink:label="us-gaap_LesseeFinanceLeaseRemainingLeaseTerm" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseTermOfContract" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseExpense" xlink:label="us-gaap_OperatingLeaseExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeasePayments" xlink:label="us-gaap_OperatingLeasePayments" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsMember" xlink:label="us-gaap_OtherAssetsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNoncurrentLiabilitiesMember" xlink:label="us-gaap_OtherNoncurrentLiabilitiesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/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="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_OtherAssetsMember" 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/domain-member" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:type="arc"/>
    <link:definitionArc order="2" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_OtherNoncurrentLiabilitiesMember" xlink:type="arc"/>
    <link:definitionArc order="3" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="occ_AccountsPayableAndAccruedLiabilitiesCurrentMember" 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_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/20230430/role/statement-note-7-leases-future-payments-due-details" xlink:href="occ-20230430.xsd#statement-note-7-leases-future-payments-due-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20230430/role/statement-note-7-leases-future-payments-due-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" 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_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" 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_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" 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_FinanceLeaseLiabilityPaymentsDueYearTwo" 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_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" 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_FinanceLeaseLiabilityPaymentsDueYearThree" 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_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" 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_FinanceLeaseLiabilityPaymentsDueYearFour" 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_LesseeOperatingLeaseLiabilityPaymentsDue" 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_FinanceLeaseLiabilityPaymentsDue" 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_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" 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_FinanceLeaseLiabilityUndiscountedExcessAmount" 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_OperatingLeaseLiability" 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_FinanceLeaseLiability" xlink:type="arc"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://http/20230430/role/statement-note-9-net-income-loss-per-share-details-textual" xlink:href="occ-20230430.xsd#statement-note-9-net-income-loss-per-share-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20230430/role/statement-note-9-net-income-loss-per-share-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230430/role/statement-note-9-net-income-loss-per-share-components-of-reconciliation-of-numerators-and-denominators-net-loss-per-share-details" xlink:href="occ-20230430.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/20230430/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/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230430/role/statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual" xlink:href="occ-20230430.xsd#statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20230430/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/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_ConcentrationRiskNumberOfCustomers" xlink:label="occ_ConcentrationRiskNumberOfCustomers" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_CustomerOneMember" xlink:label="occ_CustomerOneMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_OneCustomerMember" xlink:label="occ_OneCustomerMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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_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="1" 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="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_CustomerOneMember" 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="1" 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="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:definitionLink>
  <link:roleRef roleURI="http://http/20230430/role/statement-note-11-revenue-recognition-details-textual" xlink:href="occ-20230430.xsd#statement-note-11-revenue-recognition-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20230430/role/statement-note-11-revenue-recognition-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerRefundLiability" xlink:label="us-gaap_ContractWithCustomerRefundLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230430/role/statement-note-11-revenue-recognition-revenue-attributed-to-united-states-and-all-other-countries-details" xlink:href="occ-20230430.xsd#statement-note-11-revenue-recognition-revenue-attributed-to-united-states-and-all-other-countries-details" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20230430/role/statement-note-11-revenue-recognition-revenue-attributed-to-united-states-and-all-other-countries-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="country_US" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonUsMember" xlink:label="us-gaap_NonUsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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://http/20230430/role/statement-note-12-restricted-cash-and-gain-on-insurance-proceeds-details-textual" xlink:href="occ-20230430.xsd#statement-note-12-restricted-cash-and-gain-on-insurance-proceeds-details-textual" xlink:type="simple"/>
  <link:definitionLink xlink:role="http://http/20230430/role/statement-note-12-restricted-cash-and-gain-on-insurance-proceeds-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_WaterDamageFromPipeBurstMember" xlink:label="occ_WaterDamageFromPipeBurstMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromInsuranceSettlementInvestingActivities" xlink:label="us-gaap_ProceedsFromInsuranceSettlementInvestingActivities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCash" xlink:label="us-gaap_RestrictedCash" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnusualOrInfrequentItemAxis" xlink:label="us-gaap_UnusualOrInfrequentItemAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnusualOrInfrequentItemDomain" xlink:label="us-gaap_UnusualOrInfrequentItemDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnusualOrInfrequentItemDomain" xlink:label="us-gaap_UnusualOrInfrequentItemDomain-default" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnusualOrInfrequentItemGainGross" xlink:label="us-gaap_UnusualOrInfrequentItemGainGross" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnusualOrInfrequentItemLossGross" xlink:label="us-gaap_UnusualOrInfrequentItemLossGross" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnusualOrInfrequentItemNetOfInsuranceProceeds" xlink:label="us-gaap_UnusualOrInfrequentItemNetOfInsuranceProceeds" 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_UnusualOrInfrequentItemAxis" xlink:to="us-gaap_UnusualOrInfrequentItemDomain" 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_UnusualOrInfrequentItemAxis" xlink:type="arc"/>
    <link:definitionArc order="0" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_UnusualOrInfrequentItemDomain" xlink:to="occ_WaterDamageFromPipeBurstMember" xlink:type="arc"/>
    <link:definitionArc order="1" xbrldt:closed="true" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_UnusualOrInfrequentItemAxis" xlink:to="us-gaap_UnusualOrInfrequentItemDomain-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_RestrictedCash" 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_UnusualOrInfrequentItemNetOfInsuranceProceeds" 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_UnusualOrInfrequentItemGainGross" 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_UnusualOrInfrequentItemLossGross" 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_ProceedsFromInsuranceSettlementInvestingActivities" xlink:type="arc"/>
  </link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>8
<FILENAME>occ-20230430_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome XBRL - 11:46PM UTC 2023-06-07--><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-20230430.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20230430.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/2023/elts/us-gaap-2023.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">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths</link:label>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2023, 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-20230430.xsd#occ_statement-statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable-tables" xlink:label="occ_statement-statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable-tables" xlink:type="locator"/>
    <link:label xlink:label="occ_statement-statement-note-3-allowance-for-doubtful-accounts-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 Doubtful Accounts 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-doubtful-accounts-for-trade-accounts-receivable-tables" xlink:to="occ_statement-statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo</link:label>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" 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_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo-label" xlink:type="arc"/>
    <link:loc xlink:href="occ-20230430.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-20230430.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-20230430.xsd#occ_statement-statement-note-6-longterm-debt-and-notes-payable-tables" xlink:label="occ_statement-statement-note-6-longterm-debt-and-notes-payable-tables" xlink:type="locator"/>
    <link:label xlink:label="occ_statement-statement-note-6-longterm-debt-and-notes-payable-tables-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 6 - Long-term Debt and Notes Payable</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_statement-statement-note-6-longterm-debt-and-notes-payable-tables" xlink:to="occ_statement-statement-note-6-longterm-debt-and-notes-payable-tables-label" xlink:type="arc"/>
    <link:loc xlink:href="occ-20230430.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-20230430.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-20230430.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-20230430.xsd#occ_statement-statement-note-3-allowance-for-doubtful-accounts-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-doubtful-accounts-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-doubtful-accounts-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 Doubtful Accounts 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-doubtful-accounts-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-doubtful-accounts-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-20230430.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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-20230430.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="occ-20230430.xsd#occ_statement-statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details" xlink:label="occ_statement-statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details" xlink:type="locator"/>
    <link:label xlink:label="occ_statement-statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 6 - Long-term Debt and Notes Payable - Long-term Debt (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_statement-statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details" xlink:to="occ_statement-statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details-label" xlink:type="arc"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_statement-statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details-parentheticals" xlink:label="occ_statement-statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details-parentheticals" xlink:type="locator"/>
    <link:label xlink:label="occ_statement-statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details-parentheticals-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 6 - Long-term Debt and Notes Payable - Long-term Debt (Details) (Parentheticals)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_statement-statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details-parentheticals" xlink:to="occ_statement-statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details-parentheticals-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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">us-gaap_ShareBasedCompensation</link:label>
    <link:label xlink:label="us-gaap_ShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" 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-20230430.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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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="occ-20230430.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-20230430.xsd#occ_statement-statement-note-11-revenue-recognition-revenue-attributed-to-united-states-and-all-other-countries-details" xlink:label="occ_statement-statement-note-11-revenue-recognition-revenue-attributed-to-united-states-and-all-other-countries-details" xlink:type="locator"/>
    <link:label xlink:label="occ_statement-statement-note-11-revenue-recognition-revenue-attributed-to-united-states-and-all-other-countries-details-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Note 11 - Revenue Recognition - Revenue Attributed to United States and All Other Countries (Details)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_statement-statement-note-11-revenue-recognition-revenue-attributed-to-united-states-and-all-other-countries-details" xlink:to="occ_statement-statement-note-11-revenue-recognition-revenue-attributed-to-united-states-and-all-other-countries-details-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfDebtTableTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_ScheduleOfDebtTableTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Debt [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDebtTableTextBlock" xlink:to="us-gaap_ScheduleOfDebtTableTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="occ-20230430.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="occ-20230430.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/2023/elts/us-gaap-2023.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="occ-20230430.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LongTermDebtCurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Less current installments</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtCurrent" xlink:to="us-gaap_LongTermDebtCurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest</link:label>
    <link:label xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest-label" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total shareholders&#8217; equity</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest-label" xlink:type="arc"/>
    <link:loc xlink:href="occ-20230430.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/2023/elts/us-gaap-2023.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,865,121 shares at April 30, 2023 and 7,893,194 shares at October 31, 2022</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/2023/elts/us-gaap-2023.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 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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/srt-2023.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/2023/elts/us-gaap-2023.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/2023/elts/srt-2023.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/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/srt-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_UnusualOrInfrequentItemGainGross" xlink:label="us-gaap_UnusualOrInfrequentItemGainGross" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_UnusualOrInfrequentItemGainGross-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_UnusualOrInfrequentItemGainGross</link:label>
    <link:label xlink:label="us-gaap_UnusualOrInfrequentItemGainGross-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Unusual or Infrequent Item, or Both, Gain, Gross</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnusualOrInfrequentItemGainGross" xlink:to="us-gaap_UnusualOrInfrequentItemGainGross-label" xlink:type="arc"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_WaterDamageFromPipeBurstMember" xlink:label="occ_WaterDamageFromPipeBurstMember" xlink:type="locator"/>
    <link:label xlink:label="occ_WaterDamageFromPipeBurstMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Water Damage from Pipe Burst [Member]</link:label>
    <link:label xlink:label="occ_WaterDamageFromPipeBurstMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Relating to water damage from pipe burst.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_WaterDamageFromPipeBurstMember" xlink:to="occ_WaterDamageFromPipeBurstMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_UnusualOrInfrequentItemLossGross" xlink:label="us-gaap_UnusualOrInfrequentItemLossGross" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_UnusualOrInfrequentItemLossGross-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_UnusualOrInfrequentItemLossGross</link:label>
    <link:label xlink:label="us-gaap_UnusualOrInfrequentItemLossGross-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Unusual or Infrequent Item, or Both, Loss, Gross</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnusualOrInfrequentItemLossGross" xlink:to="us-gaap_UnusualOrInfrequentItemLossGross-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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 received for damage to property and equipment</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 received for damage to property and equipment</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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_UnusualOrInfrequentItemNetOfInsuranceProceeds" xlink:label="us-gaap_UnusualOrInfrequentItemNetOfInsuranceProceeds" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_UnusualOrInfrequentItemNetOfInsuranceProceeds-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_UnusualOrInfrequentItemNetOfInsuranceProceeds</link:label>
    <link:label xlink:label="us-gaap_UnusualOrInfrequentItemNetOfInsuranceProceeds-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Unusual or Infrequent Item, or Both, Net of Insurance Proceeds</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnusualOrInfrequentItemNetOfInsuranceProceeds" xlink:to="us-gaap_UnusualOrInfrequentItemNetOfInsuranceProceeds-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-20230430.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_UnusualOrInfrequentItemAxis" xlink:label="us-gaap_UnusualOrInfrequentItemAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_UnusualOrInfrequentItemAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Unusual or Infrequent Item, or Both [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnusualOrInfrequentItemAxis" xlink:to="us-gaap_UnusualOrInfrequentItemAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnusualOrInfrequentItemDomain" xlink:label="us-gaap_UnusualOrInfrequentItemDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_UnusualOrInfrequentItemDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Unusual or Infrequent Item, or Both [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnusualOrInfrequentItemDomain" xlink:to="us-gaap_UnusualOrInfrequentItemDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_UnusualOrInfrequentItemsDisclosureTextBlock" xlink:label="us-gaap_UnusualOrInfrequentItemsDisclosureTextBlock" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_UnusualOrInfrequentItemsDisclosureTextBlock-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Unusual or Infrequent Items, or Both, Disclosure [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnusualOrInfrequentItemsDisclosureTextBlock" xlink:to="us-gaap_UnusualOrInfrequentItemsDisclosureTextBlock-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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 (Year)</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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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 doubtful accounts of $84,602 at April 30, 2023 and $69,643 at October 31, 2022</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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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 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="occ-20230430.xsd#occ_AccountsPayableAndAccruedLiabilitiesCurrentMember" xlink:label="occ_AccountsPayableAndAccruedLiabilitiesCurrentMember" xlink:type="locator"/>
    <link:label xlink:label="occ_AccountsPayableAndAccruedLiabilitiesCurrentMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounts Payable and Accrued Liabilities, Current [Member]</link:label>
    <link:label xlink:label="occ_AccountsPayableAndAccruedLiabilitiesCurrentMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Information on operating lease liabilities included in accounts payable and accrued expenses.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_AccountsPayableAndAccruedLiabilitiesCurrentMember" xlink:to="occ_AccountsPayableAndAccruedLiabilitiesCurrentMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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 income (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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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 received for damange to property and equipment</link:label>
    <link:label xlink:label="us-gaap_ProceedsFromInsuranceSettlementInvestingActivities-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Proceeds from Insurance Settlement, Investing Activities</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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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 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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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 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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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, Total</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/2023/elts/us-gaap-2023.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="occ-20230430.xsd#occ_PinnacleFinancialPartnersMember" xlink:label="occ_PinnacleFinancialPartnersMember" xlink:type="locator"/>
    <link:label xlink:label="occ_PinnacleFinancialPartnersMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Pinnacle Financial Partners [Member]</link:label>
    <link:label xlink:label="occ_PinnacleFinancialPartnersMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents Pinnacle financial partners, a lender to the reporting entity..</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_PinnacleFinancialPartnersMember" xlink:to="occ_PinnacleFinancialPartnersMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/srt-2023.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 of Individual [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/2023/elts/srt-2023.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 of Individual [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/2023/elts/us-gaap-2023.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/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" 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_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:to="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" 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_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" 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_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">us-gaap_IncomeTaxExpenseBenefit</link:label>
    <link:label xlink:label="us-gaap_IncomeTaxExpenseBenefit-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" 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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LongTermDebt-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Total long-term debt</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebt-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNoncurrentLiabilitiesMember" xlink:label="us-gaap_OtherNoncurrentLiabilitiesMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherNoncurrentLiabilitiesMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Noncurrent Liabilities [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNoncurrentLiabilitiesMember" xlink:to="us-gaap_OtherNoncurrentLiabilitiesMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsMember" xlink:label="us-gaap_OtherAssetsMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_OtherAssetsMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Assets [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsMember" xlink:to="us-gaap_OtherAssetsMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-20230430.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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCash" xlink:label="us-gaap_RestrictedCash" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_RestrictedCash-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Restricted cash</link:label>
    <link:label xlink:label="us-gaap_RestrictedCash-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Restricted Cash</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedCash" xlink:to="us-gaap_RestrictedCash-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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, Total</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-20230430.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-20230430.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/2023/elts/us-gaap-2023.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-20230430.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/2023/elts/us-gaap-2023.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/label" xlink:type="resource" xml:lang="en-US">us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities</link:label>
    <link:label xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" 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_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20230430.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-20230430.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 (Year)</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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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">Balance Sheet Location [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/2023/elts/us-gaap-2023.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">Balance Sheet Location [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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/elts/us-gaap-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentMaturityDate" xlink:label="us-gaap_DebtInstrumentMaturityDate" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentMaturityDate-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DebtInstrumentMaturityDate</link:label>
    <link:label xlink:label="us-gaap_DebtInstrumentMaturityDate-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Debt Instrument, Maturity Date</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentMaturityDate" xlink:to="us-gaap_DebtInstrumentMaturityDate-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentPeriodicPayment" xlink:label="us-gaap_DebtInstrumentPeriodicPayment" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentPeriodicPayment-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DebtInstrumentPeriodicPayment</link:label>
    <link:label xlink:label="us-gaap_DebtInstrumentPeriodicPayment-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Debt Instrument, Periodic Payment</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentPeriodicPayment" xlink:to="us-gaap_DebtInstrumentPeriodicPayment-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/dei-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentPeriodicPaymentTermsBalloonPaymentToBePaid" xlink:label="us-gaap_DebtInstrumentPeriodicPaymentTermsBalloonPaymentToBePaid" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentPeriodicPaymentTermsBalloonPaymentToBePaid-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DebtInstrumentPeriodicPaymentTermsBalloonPaymentToBePaid</link:label>
    <link:label xlink:label="us-gaap_DebtInstrumentPeriodicPaymentTermsBalloonPaymentToBePaid-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Debt Instrument, Periodic Payment Terms, Balloon Payment to be Paid</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentPeriodicPaymentTermsBalloonPaymentToBePaid" xlink:to="us-gaap_DebtInstrumentPeriodicPaymentTermsBalloonPaymentToBePaid-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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 sale 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/2023/elts/us-gaap-2023.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/2023/dei-2023.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/2023/elts/us-gaap-2023.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, Ending Balance (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/2023/elts/us-gaap-2023.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, Ending Balance (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/2023/dei-2023.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/2023/elts/us-gaap-2023.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/2023/dei-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_DebtInstrumentInterestRateStatedPercentage</link:label>
    <link:label xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Debt Instrument, Interest Rate, Stated Percentage</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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="occ-20230430.xsd#occ_NorthCarolinaRealEstateLoanMember" xlink:label="occ_NorthCarolinaRealEstateLoanMember" xlink:type="locator"/>
    <link:label xlink:label="occ_NorthCarolinaRealEstateLoanMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">North Carolina Real Estate Loan [Member]</link:label>
    <link:label xlink:label="occ_NorthCarolinaRealEstateLoanMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">North carolina real estate loan [member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_NorthCarolinaRealEstateLoanMember" xlink:to="occ_NorthCarolinaRealEstateLoanMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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 (Month)</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/2023/dei-2023.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/2023/dei-2023.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">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.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_DebtInstrumentFaceAmount-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Debt Instrument, Face Amount</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentFaceAmount" xlink:to="us-gaap_DebtInstrumentFaceAmount-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.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/2023/dei-2023.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">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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/elts/us-gaap-2023.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 (Square Foot)</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/2023/dei-2023.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">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/2023/dei-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_VariableRateDomain-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Variable Rate [Domain]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VariableRateDomain" xlink:to="us-gaap_VariableRateDomain-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_PrimeRateMember" xlink:label="us-gaap_PrimeRateMember" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_PrimeRateMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Prime Rate [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrimeRateMember" xlink:to="us-gaap_PrimeRateMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_VariableRateAxis-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Variable Rate [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateAxis-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/negatedTerseLabel" 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/2023/elts/us-gaap-2023.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/2023/dei-2023.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/2023/elts/us-gaap-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/elts/us-gaap-2023.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/2023/dei-2023.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/2023/elts/us-gaap-2023.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/2023/dei-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/verboseLabel" xlink:type="resource" xml:lang="en-US">Shares (denominator) (in shares)</link:label>
    <link:label xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</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/2023/elts/us-gaap-2023.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/dei/2023/dei-2023.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/dei/2023/dei-2023.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/2023/elts/us-gaap-2023.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/2023/dei-2023.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/2023/elts/us-gaap-2023.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.fasb.org/us-gaap/2023/elts/us-gaap-2023.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.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-20230430.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/2023/dei-2023.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/2023/elts/us-gaap-2023.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 (Month)</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/2023/elts/us-gaap-2023.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, Total</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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/dei-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20230430.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/2023/elts/us-gaap-2023.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, finance 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-20230430.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/2023/elts/us-gaap-2023.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/2023/dei-2023.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/2023/elts/us-gaap-2023.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, finance 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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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">us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths</link:label>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2023, finance 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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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">us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo</link:label>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2024, finance 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/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree</link:label>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2025, finance lease</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour</link:label>
    <link:label xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2026, finance lease</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-20230430.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/2023/elts/us-gaap-2023.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-20230430.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/2023/elts/us-gaap-2023.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/negatedTerseLabel" 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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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</link:label>
    <link:label xlink:label="us-gaap_ProvisionForDoubtfulAccounts-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Bad debt 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/2023/elts/us-gaap-2023.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/label" xlink:type="resource" xml:lang="en-US">us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation</link:label>
    <link:label xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based compensation, net</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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20230430.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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="occ-20230430.xsd#occ_VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember" xlink:label="occ_VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember" xlink:type="locator"/>
    <link:label xlink:label="occ_VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Virginia Real Estate Loan and North Carolina Real Estate Loan [Member]</link:label>
    <link:label xlink:label="occ_VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Related to the Virginia real estate loan and the North Carolina real estate loan.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember" xlink:to="occ_VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/country-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20230430.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/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-20230430.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LongTermDebtNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LongTermDebtNoncurrent</link:label>
    <link:label xlink:label="us-gaap_LongTermDebtNoncurrent-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Long-term debt, excluding current installments</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtNoncurrent" xlink:to="us-gaap_LongTermDebtNoncurrent-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">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-20230430.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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: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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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="occ-20230430.xsd#occ_CustomerOneMember" xlink:label="occ_CustomerOneMember" xlink:type="locator"/>
    <link:label xlink:label="occ_CustomerOneMember-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Customer One [Member]</link:label>
    <link:label xlink:label="occ_CustomerOneMember-label" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Represents information pertaining customer number one.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="occ_CustomerOneMember" xlink:to="occ_CustomerOneMember-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Finance Lease, Principal Payments</link:label>
    <link:label xlink:label="us-gaap_FinanceLeasePrincipalPayments-label" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Principal payments on finance lease</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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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">Total lease liability, finance 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-20230430.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/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree</link:label>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" 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_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:type="locator"/>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour-label" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour</link:label>
    <link:label xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour-label" xlink:role="http://www.xbrl.org/2003/role/terseLabel" 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_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour-label" xlink:type="arc"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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, Total</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:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>9
<FILENAME>occ-20230430_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome XBRL - 11:46PM UTC 2023-06-07--><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/20230430/role/statement-note-14-new-accounting-standards-not-yet-adopted" xlink:href="occ-20230430.xsd#statement-note-14-new-accounting-standards-not-yet-adopted" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20230430/role/statement-note-14-new-accounting-standards-not-yet-adopted" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_NotesToFinancialStatementsAbstract" xlink:label="occ_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230430/role/statement-note-13-contingencies" xlink:href="occ-20230430.xsd#statement-note-13-contingencies" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20230430/role/statement-note-13-contingencies" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_NotesToFinancialStatementsAbstract" xlink:label="occ_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230430/role/statement-note-8-fair-value-measurements" xlink:href="occ-20230430.xsd#statement-note-8-fair-value-measurements" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20230430/role/statement-note-8-fair-value-measurements" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_NotesToFinancialStatementsAbstract" xlink:label="occ_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="us-gaap_FairValueDisclosuresTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230430/role/statement-note-1-general" xlink:href="occ-20230430.xsd#statement-note-1-general" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20230430/role/statement-note-1-general" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_NotesToFinancialStatementsAbstract" xlink:label="occ_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230430/role/statement-document-and-entity-information" xlink:href="occ-20230430.xsd#statement-document-and-entity-information" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20230430/role/statement-document-and-entity-information" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentQuarterlyReport" xlink:label="dei_DocumentQuarterlyReport-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="dei_DocumentType-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.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/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityFilerCategory" xlink:type="arc"/>
    <link:presentationArc order="20" 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_EntitySmallBusiness" xlink:type="arc"/>
    <link:presentationArc order="21" 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_EntityEmergingGrowthCompany" 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/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited" xlink:href="occ-20230430.xsd#statement-condensed-consolidated-balance-sheets-unaudited" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LoansPayableCurrent" xlink:label="us-gaap_LoansPayableCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermLineOfCredit" xlink:label="us-gaap_LongTermLineOfCredit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermLoansPayable" xlink:label="us-gaap_LongTermLoansPayable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherReceivables" xlink:label="us-gaap_OtherReceivables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCash" xlink:label="us-gaap_RestrictedCash" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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_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_RestrictedCash" 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_AccountsReceivableNetCurrent" 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="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_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="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_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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest-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/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited-parentheticals" xlink:href="occ-20230430.xsd#statement-condensed-consolidated-balance-sheets-unaudited-parentheticals" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited-parentheticals" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockNoParValue" xlink:label="us-gaap_CommonStockNoParValue-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockNoParValue" xlink:label="us-gaap_PreferredStockNoParValue-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="us-gaap_PreferredStockSharesAuthorized-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="us-gaap_PreferredStockSharesIssued-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="us-gaap_PreferredStockSharesOutstanding-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230430/role/statement-condensed-consolidated-statements-of-operations-unaudited-" xlink:href="occ-20230430.xsd#statement-condensed-consolidated-statements-of-operations-unaudited-" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20230430/role/statement-condensed-consolidated-statements-of-operations-unaudited-" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_RoyaltyRevenueExpense" xlink:label="occ_RoyaltyRevenueExpense-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherIncomeAndExpensesAbstract" xlink:label="us-gaap_OtherIncomeAndExpensesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="us-gaap_IncomeTaxExpenseBenefit-2" 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/20230430/role/statement-condensed-consolidated-statements-of-shareholders-equity-unaudited" xlink:href="occ-20230430.xsd#statement-condensed-consolidated-statements-of-shareholders-equity-unaudited" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20230430/role/statement-condensed-consolidated-statements-of-shareholders-equity-unaudited" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding-5" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation-n9" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/negatedTerseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation-n9" 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_StockIssuedDuringPeriodValueShareBasedCompensation-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_NetIncomeLoss-2" 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/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" xlink:href="occ-20230430.xsd#statement-condensed-consolidated-statements-of-cash-flows-unaudited" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_PinnacleFinancialPartnersMember" xlink:label="occ_PinnacleFinancialPartnersMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember" xlink:label="occ_VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations-5" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeasePrincipalPayments" xlink:label="us-gaap_FinanceLeasePrincipalPayments-n9" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable-n9" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories-n9" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherReceivables" xlink:label="us-gaap_IncreaseDecreaseInOtherReceivables-n9" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfFinancingCosts" xlink:label="us-gaap_PaymentsOfFinancingCosts-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireIntangibleAssets" xlink:label="us-gaap_PaymentsToAcquireIntangibleAssets-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromInsuranceSettlementInvestingActivities" xlink:label="us-gaap_ProceedsFromInsuranceSettlementInvestingActivities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromNotesPayable" xlink:label="us-gaap_ProceedsFromNotesPayable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfNotesPayable" xlink:label="us-gaap_RepaymentsOfNotesPayable-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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_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_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_PinnacleFinancialPartnersMember" 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_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_VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember" 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/label" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" 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_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/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ProvisionForDoubtfulAccounts-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_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ShareBasedCompensation-2" 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/negatedTerseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingAssetsAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable-n9" 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/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities-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_IncreaseDecreaseInOperatingLiabilitiesAbstract" xlink:to="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities-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_IncreaseDecreaseInOperatingLiabilitiesAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable-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_IncreaseDecreaseInOperatingLiabilitiesAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities-2" 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/negatedTerseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_FinanceLeasePrincipalPayments-n9" 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/20230430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation" xlink:href="occ-20230430.xsd#statement-note-2-stock-incentive-plans-and-other-sharebased-compensation" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20230430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_EmployeesConsultantAndNonemployeeDirectorsMember" xlink:label="occ_EmployeesConsultantAndNonemployeeDirectorsMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_NotesToFinancialStatementsAbstract" xlink:label="occ_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_Plan2017Member" xlink:label="occ_Plan2017Member" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockMember" xlink:label="us-gaap_RestrictedStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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_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_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="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_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20230430/role/statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable" xlink:href="occ-20230430.xsd#statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20230430/role/statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_AllowanceForDoubtfulAccountsForTradeAccountsReceivableDisclosureTextBlock" xlink:label="occ_AllowanceForDoubtfulAccountsForTradeAccountsReceivableDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_NotesToFinancialStatementsAbstract" xlink:label="occ_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230430/role/statement-note-4-inventories" xlink:href="occ-20230430.xsd#statement-note-4-inventories" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20230430/role/statement-note-4-inventories" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_NotesToFinancialStatementsAbstract" xlink:label="occ_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="us-gaap_InventoryDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230430/role/statement-note-5-product-warranties" xlink:href="occ-20230430.xsd#statement-note-5-product-warranties" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20230430/role/statement-note-5-product-warranties" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_NotesToFinancialStatementsAbstract" xlink:label="occ_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyDisclosureTextBlock" xlink:label="us-gaap_ProductWarrantyDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230430/role/statement-note-6-longterm-debt-and-notes-payable-" xlink:href="occ-20230430.xsd#statement-note-6-longterm-debt-and-notes-payable-" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_NorthCarolinaRealEstateLoanMember" xlink:label="occ_NorthCarolinaRealEstateLoanMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_NorthMillCapitalLlcMember" xlink:label="occ_NorthMillCapitalLlcMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_NotesToFinancialStatementsAbstract" xlink:label="occ_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_PinnacleFinancialPartnersMember" xlink:label="occ_PinnacleFinancialPartnersMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember" xlink:label="occ_VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_VirginiaRealEstateLoanMember" xlink:label="occ_VirginiaRealEstateLoanMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtTextBlock" xlink:label="us-gaap_LongTermDebtTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrimeRateMember" xlink:label="us-gaap_PrimeRateMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain" 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_VariableRateAxis" xlink:to="us-gaap_VariableRateDomain" 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_PinnacleFinancialPartnersMember" 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_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_VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember" 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_LongtermDebtTypeAxis" xlink:to="occ_VirginiaRealEstateLoanMember" 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_LongtermDebtTypeAxis" xlink:to="occ_NorthCarolinaRealEstateLoanMember" 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="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_LineOfCreditFacilityAxis" xlink:to="occ_NorthMillCapitalLlcMember" 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_VariableRateAxis" 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_VariableRateAxis" xlink:to="us-gaap_PrimeRateMember" 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="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_MaximumMember" 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="dei_LegalEntityAxis" 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_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/20230430/role/statement-note-7-leases" xlink:href="occ-20230430.xsd#statement-note-7-leases" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20230430/role/statement-note-7-leases" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_AccountsPayableAndAccruedLiabilitiesCurrentMember" xlink:label="occ_AccountsPayableAndAccruedLiabilitiesCurrentMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_LesseeOperatingAndFinanceLeasesDisclosureTextBlock" xlink:label="occ_LesseeOperatingAndFinanceLeasesDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_NotesToFinancialStatementsAbstract" xlink:label="occ_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_OperatingLeaseForOfficeEquipmentMember" xlink:label="occ_OperatingLeaseForOfficeEquipmentMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_OperatingLeaseForOfficeManufacturingAndWarehouseSpaceInPlanoTexasMember" xlink:label="occ_OperatingLeaseForOfficeManufacturingAndWarehouseSpaceInPlanoTexasMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember" xlink:label="occ_OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseContractualTermAxis" xlink:label="us-gaap_LeaseContractualTermAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseContractualTermDomain" xlink:label="us-gaap_LeaseContractualTermDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsMember" xlink:label="us-gaap_OtherAssetsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNoncurrentLiabilitiesMember" xlink:label="us-gaap_OtherNoncurrentLiabilitiesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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_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="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_OtherAssetsMember" 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_BalanceSheetLocationAxis" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesMember" 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_BalanceSheetLocationAxis" xlink:to="us-gaap_OtherNoncurrentLiabilitiesMember" 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_BalanceSheetLocationAxis" xlink:to="occ_AccountsPayableAndAccruedLiabilitiesCurrentMember" 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_DisclosureTextBlockAbstract" xlink:to="occ_LesseeOperatingAndFinanceLeasesDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20230430/role/statement-note-9-net-income-loss-per-share" xlink:href="occ-20230430.xsd#statement-note-9-net-income-loss-per-share" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20230430/role/statement-note-9-net-income-loss-per-share" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_NotesToFinancialStatementsAbstract" xlink:label="occ_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230430/role/statement-note-10-segment-information-and-business-and-credit-concentrations" xlink:href="occ-20230430.xsd#statement-note-10-segment-information-and-business-and-credit-concentrations" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20230430/role/statement-note-10-segment-information-and-business-and-credit-concentrations" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_CustomerOneMember" xlink:label="occ_CustomerOneMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_NotesToFinancialStatementsAbstract" xlink:label="occ_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_OneCustomerMember" xlink:label="occ_OneCustomerMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskDisclosureTextBlock" xlink:label="us-gaap_ConcentrationRiskDisclosureTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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_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="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_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="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_CustomerOneMember" 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_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/20230430/role/statement-note-11-revenue-recognition" xlink:href="occ-20230430.xsd#statement-note-11-revenue-recognition" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20230430/role/statement-note-11-revenue-recognition" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="country_US" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_NotesToFinancialStatementsAbstract" xlink:label="occ_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonUsMember" xlink:label="us-gaap_NonUsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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://http/20230430/role/statement-note-12-restricted-cash-and-gain-on-insurance-proceeds" xlink:href="occ-20230430.xsd#statement-note-12-restricted-cash-and-gain-on-insurance-proceeds" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20230430/role/statement-note-12-restricted-cash-and-gain-on-insurance-proceeds" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_NotesToFinancialStatementsAbstract" xlink:label="occ_NotesToFinancialStatementsAbstract" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_WaterDamageFromPipeBurstMember" xlink:label="occ_WaterDamageFromPipeBurstMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureTextBlockAbstract" xlink:label="us-gaap_DisclosureTextBlockAbstract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnusualOrInfrequentItemAxis" xlink:label="us-gaap_UnusualOrInfrequentItemAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnusualOrInfrequentItemDomain" xlink:label="us-gaap_UnusualOrInfrequentItemDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnusualOrInfrequentItemsDisclosureTextBlock" xlink:label="us-gaap_UnusualOrInfrequentItemsDisclosureTextBlock" 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_UnusualOrInfrequentItemAxis" xlink:to="us-gaap_UnusualOrInfrequentItemDomain" 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_UnusualOrInfrequentItemAxis" 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_UnusualOrInfrequentItemAxis" xlink:to="occ_WaterDamageFromPipeBurstMember" 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_UnusualOrInfrequentItemsDisclosureTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20230430/role/statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable-tables" xlink:href="occ-20230430.xsd#statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20230430/role/statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_SummaryOfChangesInAllowanceForDoubtfulAccountsForTradeAccountsReceivableTableTextBlock" xlink:label="occ_SummaryOfChangesInAllowanceForDoubtfulAccountsForTradeAccountsReceivableTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_statement-statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable-tables" xlink:label="occ_statement-statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-doubtful-accounts-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/20230430/role/statement-note-4-inventories-tables" xlink:href="occ-20230430.xsd#statement-note-4-inventories-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20230430/role/statement-note-4-inventories-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.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/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230430/role/statement-note-5-product-warranties-tables" xlink:href="occ-20230430.xsd#statement-note-5-product-warranties-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20230430/role/statement-note-5-product-warranties-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.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/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:label="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230430/role/statement-note-6-longterm-debt-and-notes-payable-tables" xlink:href="occ-20230430.xsd#statement-note-6-longterm-debt-and-notes-payable-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_statement-statement-note-6-longterm-debt-and-notes-payable-tables" xlink:label="occ_statement-statement-note-6-longterm-debt-and-notes-payable-tables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfDebtTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-6-longterm-debt-and-notes-payable-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_ScheduleOfDebtTableTextBlock" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20230430/role/statement-note-7-leases-tables" xlink:href="occ-20230430.xsd#statement-note-7-leases-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20230430/role/statement-note-7-leases-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_LesseeLeaseLiabilityMaturityTableTextBlock" xlink:label="occ_LesseeLeaseLiabilityMaturityTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.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/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230430/role/statement-note-9-net-income-loss-per-share-tables" xlink:href="occ-20230430.xsd#statement-note-9-net-income-loss-per-share-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20230430/role/statement-note-9-net-income-loss-per-share-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.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/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230430/role/statement-note-11-revenue-recognition-tables" xlink:href="occ-20230430.xsd#statement-note-11-revenue-recognition-tables" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20230430/role/statement-note-11-revenue-recognition-tables" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.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/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock" xlink:label="us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TableTextBlock" xlink:label="us-gaap_TableTextBlock" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual" xlink:href="occ-20230430.xsd#statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20230430/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/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_EmployeesConsultantAndNonemployeeDirectorsMember" xlink:label="occ_EmployeesConsultantAndNonemployeeDirectorsMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_NoteToFinancialStatementDetailsTextual" xlink:label="occ_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_Plan2017Member" xlink:label="occ_Plan2017Member" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockMember" xlink:label="us-gaap_RestrictedStockMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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_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_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="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_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_SharesPaidForTaxWithholdingForShareBasedCompensation-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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1-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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20230430/role/statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable-summary-of-changes-in-the-allowance-for-doubtful-accounts-for-trade-accounts-receivable-details" xlink:href="occ-20230430.xsd#statement-note-3-allowance-for-doubtful-accounts-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/20230430/role/statement-note-3-allowance-for-doubtful-accounts-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/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_statement-statement-note-3-allowance-for-doubtful-accounts-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-doubtful-accounts-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/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent-5" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-doubtful-accounts-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/20230430/role/statement-note-4-inventories-components-of-inventories-details" xlink:href="occ-20230430.xsd#statement-note-4-inventories-components-of-inventories-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20230430/role/statement-note-4-inventories-components-of-inventories-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.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/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventorySuppliesNetOfReserves" xlink:label="us-gaap_InventorySuppliesNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230430/role/statement-note-5-product-warranties-details-textual" xlink:href="occ-20230430.xsd#statement-note-5-product-warranties-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20230430/role/statement-note-5-product-warranties-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_NoteToFinancialStatementDetailsTextual" xlink:label="occ_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyAccrual" xlink:label="us-gaap_ProductWarrantyAccrual-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyExpense" xlink:label="us-gaap_ProductWarrantyExpense-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230430/role/statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details" xlink:href="occ-20230430.xsd#statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20230430/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/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.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/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyAccrual" xlink:label="us-gaap_ProductWarrantyAccrual-4" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyAccrual" xlink:label="us-gaap_ProductWarrantyAccrual-5" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyAccrualPayments" xlink:label="us-gaap_ProductWarrantyAccrualPayments-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:label="us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:label="us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual" xlink:href="occ-20230430.xsd#statement-note-6-longterm-debt-and-notes-payable-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_DebtInstrumentTermExtensions" xlink:label="occ_DebtInstrumentTermExtensions-2" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_LineOfCreditFacilityAdditionalCapacityForAdvances" xlink:label="occ_LineOfCreditFacilityAdditionalCapacityForAdvances-2" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_LineOfCreditFacilityPercentOfEligibleAccounts" xlink:label="occ_LineOfCreditFacilityPercentOfEligibleAccounts-2" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_LineOfCreditFacilityPercentOfEligibleInventory" xlink:label="occ_LineOfCreditFacilityPercentOfEligibleInventory-2" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_LineOfCreditFacilityRestrictedCapacityForAdvances" xlink:label="occ_LineOfCreditFacilityRestrictedCapacityForAdvances-2" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_NorthMillCapitalLlcMember" xlink:label="occ_NorthMillCapitalLlcMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_NoteToFinancialStatementDetailsTextual" xlink:label="occ_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_PinnacleFinancialPartnersMember" xlink:label="occ_PinnacleFinancialPartnersMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember" xlink:label="occ_VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrimeRateMember" xlink:label="us-gaap_PrimeRateMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain" 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_VariableRateAxis" xlink:to="us-gaap_VariableRateDomain" 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_PinnacleFinancialPartnersMember" 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_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_VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember" 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="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_LineOfCreditFacilityAxis" xlink:to="occ_NorthMillCapitalLlcMember" 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_VariableRateAxis" 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_VariableRateAxis" xlink:to="us-gaap_PrimeRateMember" 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="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_MaximumMember" 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="dei_LegalEntityAxis" 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_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_DebtInstrumentInterestRateStatedPercentage-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_LineOfCreditFacilityPercentOfEligibleAccounts-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="occ_LineOfCreditFacilityPercentOfEligibleInventory-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="occ_LineOfCreditFacilityAdditionalCapacityForAdvances-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_LineOfCreditFacilityRestrictedCapacityForAdvances-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_LineOfCreditFacilityMaximumBorrowingCapacity-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_DebtInstrumentBasisSpreadOnVariableRate1-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_DebtInstrumentInterestRateEffectivePercentage-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_DebtInstrumentTermExtensions-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_LineOfCredit-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_LineOfCreditFacilityRemainingBorrowingCapacity-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details" xlink:href="occ-20230430.xsd#statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_NorthCarolinaRealEstateLoanMember" xlink:label="occ_NorthCarolinaRealEstateLoanMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_VirginiaRealEstateLoanMember" xlink:label="occ_VirginiaRealEstateLoanMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_statement-statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details" xlink:label="occ_statement-statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-6-longterm-debt-and-notes-payable-longterm-debt-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_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_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="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_LongtermDebtTypeAxis" xlink:to="occ_NorthCarolinaRealEstateLoanMember" 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_LongTermDebt" 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_LongTermDebtCurrent" 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_LongTermDebtNoncurrent-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details-parentheticals" xlink:href="occ-20230430.xsd#statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details-parentheticals" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details-parentheticals" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_NorthCarolinaRealEstateLoanMember" xlink:label="occ_NorthCarolinaRealEstateLoanMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_VirginiaRealEstateLoanMember" xlink:label="occ_VirginiaRealEstateLoanMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_statement-statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details-parentheticals" xlink:label="occ_statement-statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details-parentheticals" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentMaturityDate" xlink:label="us-gaap_DebtInstrumentMaturityDate-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentPeriodicPayment" xlink:label="us-gaap_DebtInstrumentPeriodicPayment-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentPeriodicPaymentTermsBalloonPaymentToBePaid" xlink:label="us-gaap_DebtInstrumentPeriodicPaymentTermsBalloonPaymentToBePaid-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-6-longterm-debt-and-notes-payable-longterm-debt-details-parentheticals" 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_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_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="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_LongtermDebtTypeAxis" xlink:to="occ_NorthCarolinaRealEstateLoanMember" 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_DebtInstrumentFaceAmount" 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_DebtInstrumentPeriodicPayment-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_DebtInstrumentInterestRateStatedPercentage-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_DebtInstrumentPeriodicPaymentTermsBalloonPaymentToBePaid-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_DebtInstrumentMaturityDate-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20230430/role/statement-note-7-leases-details-textual" xlink:href="occ-20230430.xsd#statement-note-7-leases-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20230430/role/statement-note-7-leases-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_AccountsPayableAndAccruedLiabilitiesCurrentMember" xlink:label="occ_AccountsPayableAndAccruedLiabilitiesCurrentMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_NoteToFinancialStatementDetailsTextual" xlink:label="occ_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_OperatingLeaseForOfficeEquipmentMember" xlink:label="occ_OperatingLeaseForOfficeEquipmentMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_OperatingLeaseForOfficeManufacturingAndWarehouseSpaceInPlanoTexasMember" xlink:label="occ_OperatingLeaseForOfficeManufacturingAndWarehouseSpaceInPlanoTexasMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember" xlink:label="occ_OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AreaOfRealEstateProperty" xlink:label="us-gaap_AreaOfRealEstateProperty-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseInterestExpense" xlink:label="us-gaap_FinanceLeaseInterestExpense-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeasePrincipalPayments" xlink:label="us-gaap_FinanceLeasePrincipalPayments-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAsset" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseContractualTermAxis" xlink:label="us-gaap_LeaseContractualTermAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseContractualTermDomain" xlink:label="us-gaap_LeaseContractualTermDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeFinanceLeaseDiscountRate" xlink:label="us-gaap_LesseeFinanceLeaseDiscountRate-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeFinanceLeaseRemainingLeaseTerm" xlink:label="us-gaap_LesseeFinanceLeaseRemainingLeaseTerm-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseTermOfContract" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseExpense" xlink:label="us-gaap_OperatingLeaseExpense-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeasePayments" xlink:label="us-gaap_OperatingLeasePayments-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsMember" xlink:label="us-gaap_OtherAssetsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNoncurrentLiabilitiesMember" xlink:label="us-gaap_OtherNoncurrentLiabilitiesMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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_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="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_OtherAssetsMember" 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_BalanceSheetLocationAxis" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesMember" 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_BalanceSheetLocationAxis" xlink:to="us-gaap_OtherNoncurrentLiabilitiesMember" 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_BalanceSheetLocationAxis" xlink:to="occ_AccountsPayableAndAccruedLiabilitiesCurrentMember" 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/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_OperatingLeaseLiabilityCurrent-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_OperatingLeaseLiabilityNoncurrent-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_OperatingLeaseExpense-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_OperatingLeaseWeightedAverageRemainingLeaseTerm1-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_OperatingLeaseWeightedAverageDiscountRatePercent-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_OperatingLeasePayments-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_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability-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_FinanceLeaseRightOfUseAsset-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_FinanceLeaseLiabilityCurrent-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_FinanceLeaseLiabilityNoncurrent-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_FinanceLeaseInterestExpense-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_FinanceLeaseRightOfUseAssetAmortization-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_LesseeFinanceLeaseRemainingLeaseTerm-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_LesseeFinanceLeaseDiscountRate-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_FinanceLeasePrincipalPayments-2" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20230430/role/statement-note-7-leases-future-payments-due-details" xlink:href="occ-20230430.xsd#statement-note-7-leases-future-payments-due-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20230430/role/statement-note-7-leases-future-payments-due-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.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/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue-3" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount-n8" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/terseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths-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_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths-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_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo-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_FinanceLeaseLiabilityPaymentsDueYearTwo-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_LesseeOperatingLeaseLiabilityPaymentsDueYearThree-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_FinanceLeaseLiabilityPaymentsDueYearThree-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_LesseeOperatingLeaseLiabilityPaymentsDueYearFour-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_FinanceLeaseLiabilityPaymentsDueYearFour-2" 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_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue-3" xlink:type="arc"/>
    <link:presentationArc order="9" 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="10" 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="11" 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="12" 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_OperatingLeaseLiability" xlink:type="arc"/>
    <link:presentationArc order="13" 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_FinanceLeaseLiability" xlink:type="arc"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://http/20230430/role/statement-note-9-net-income-loss-per-share-details-textual" xlink:href="occ-20230430.xsd#statement-note-9-net-income-loss-per-share-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20230430/role/statement-note-9-net-income-loss-per-share-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_NoteToFinancialStatementDetailsTextual" xlink:label="occ_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230430/role/statement-note-9-net-income-loss-per-share-components-of-reconciliation-of-numerators-and-denominators-net-loss-per-share-details" xlink:href="occ-20230430.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/20230430/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/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.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/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic-1" 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/verboseLabel" xbrldt:closed="true" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic-1" 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/20230430/role/statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual" xlink:href="occ-20230430.xsd#statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20230430/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/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_ConcentrationRiskNumberOfCustomers" xlink:label="occ_ConcentrationRiskNumberOfCustomers-2" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_CustomerOneMember" xlink:label="occ_CustomerOneMember" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_NoteToFinancialStatementDetailsTextual" xlink:label="occ_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_OneCustomerMember" xlink:label="occ_OneCustomerMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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_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="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_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="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_CustomerOneMember" 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_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:presentationLink>
  <link:roleRef roleURI="http://http/20230430/role/statement-note-11-revenue-recognition-details-textual" xlink:href="occ-20230430.xsd#statement-note-11-revenue-recognition-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20230430/role/statement-note-11-revenue-recognition-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_NoteToFinancialStatementDetailsTextual" xlink:label="occ_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerRefundLiability" xlink:label="us-gaap_ContractWithCustomerRefundLiability-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230430/role/statement-note-11-revenue-recognition-revenue-attributed-to-united-states-and-all-other-countries-details" xlink:href="occ-20230430.xsd#statement-note-11-revenue-recognition-revenue-attributed-to-united-states-and-all-other-countries-details" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20230430/role/statement-note-11-revenue-recognition-revenue-attributed-to-united-states-and-all-other-countries-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="country_US" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_statement-statement-note-11-revenue-recognition-revenue-attributed-to-united-states-and-all-other-countries-details" xlink:label="occ_statement-statement-note-11-revenue-recognition-revenue-attributed-to-united-states-and-all-other-countries-details" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonUsMember" xlink:label="us-gaap_NonUsMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-revenue-attributed-to-united-states-and-all-other-countries-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:roleRef roleURI="http://http/20230430/role/statement-note-12-restricted-cash-and-gain-on-insurance-proceeds-details-textual" xlink:href="occ-20230430.xsd#statement-note-12-restricted-cash-and-gain-on-insurance-proceeds-details-textual" xlink:type="simple"/>
  <link:presentationLink xlink:role="http://http/20230430/role/statement-note-12-restricted-cash-and-gain-on-insurance-proceeds-details-textual" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_NoteToFinancialStatementDetailsTextual" xlink:label="occ_NoteToFinancialStatementDetailsTextual" xlink:type="locator"/>
    <link:loc xlink:href="occ-20230430.xsd#occ_WaterDamageFromPipeBurstMember" xlink:label="occ_WaterDamageFromPipeBurstMember" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromInsuranceSettlementInvestingActivities" xlink:label="us-gaap_ProceedsFromInsuranceSettlementInvestingActivities-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCash" xlink:label="us-gaap_RestrictedCash-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnusualOrInfrequentItemAxis" xlink:label="us-gaap_UnusualOrInfrequentItemAxis" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnusualOrInfrequentItemDomain" xlink:label="us-gaap_UnusualOrInfrequentItemDomain" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnusualOrInfrequentItemGainGross" xlink:label="us-gaap_UnusualOrInfrequentItemGainGross-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnusualOrInfrequentItemLossGross" xlink:label="us-gaap_UnusualOrInfrequentItemLossGross-2" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnusualOrInfrequentItemNetOfInsuranceProceeds" xlink:label="us-gaap_UnusualOrInfrequentItemNetOfInsuranceProceeds-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_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_UnusualOrInfrequentItemAxis" xlink:to="us-gaap_UnusualOrInfrequentItemDomain" 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_UnusualOrInfrequentItemAxis" 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_UnusualOrInfrequentItemAxis" xlink:to="occ_WaterDamageFromPipeBurstMember" 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_RestrictedCash-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_UnusualOrInfrequentItemNetOfInsuranceProceeds-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_UnusualOrInfrequentItemGainGross-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_UnusualOrInfrequentItemLossGross-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_ProceedsFromInsuranceSettlementInvestingActivities-2" xlink:type="arc"/>
  </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>10
<FILENAME>occ-20230430_cal.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION CALCULATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome XBRL - 11:46PM UTC 2023-06-07--><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/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited" xlink:href="occ-20230430.xsd#statement-condensed-consolidated-balance-sheets-unaudited" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LoansPayableCurrent" xlink:label="us-gaap_LoansPayableCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermLineOfCredit" xlink:label="us-gaap_LongTermLineOfCredit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermLoansPayable" xlink:label="us-gaap_LongTermLoansPayable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherReceivables" xlink:label="us-gaap_OtherReceivables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCash" xlink:label="us-gaap_RestrictedCash" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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_RestrictedCash" 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_AccountsReceivableNetCurrent" 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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" 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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" 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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" 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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" 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/20230430/role/statement-condensed-consolidated-statements-of-operations-unaudited-" xlink:href="occ-20230430.xsd#statement-condensed-consolidated-statements-of-operations-unaudited-" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://http/20230430/role/statement-condensed-consolidated-statements-of-operations-unaudited-" xlink:type="extended">
    <link:loc xlink:href="occ-20230430.xsd#occ_RoyaltyRevenueExpense" xlink:label="occ_RoyaltyRevenueExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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_CostOfGoodsAndServicesSold" 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_RevenueFromContractWithCustomerIncludingAssessedTax" 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_AmortizationOfIntangibleAssets" 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_GrossProfit" 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="us-gaap_SellingGeneralAndAdministrativeExpense" 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="occ_RoyaltyRevenueExpense" 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/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" xlink:href="occ-20230430.xsd#statement-condensed-consolidated-statements-of-cash-flows-unaudited" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeasePrincipalPayments" xlink:label="us-gaap_FinanceLeasePrincipalPayments" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherReceivables" xlink:label="us-gaap_IncreaseDecreaseInOtherReceivables" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfFinancingCosts" xlink:label="us-gaap_PaymentsOfFinancingCosts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireIntangibleAssets" xlink:label="us-gaap_PaymentsToAcquireIntangibleAssets" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromInsuranceSettlementInvestingActivities" xlink:label="us-gaap_ProceedsFromInsuranceSettlementInvestingActivities" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromNotesPayable" xlink:label="us-gaap_ProceedsFromNotesPayable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfNotesPayable" xlink:label="us-gaap_RepaymentsOfNotesPayable" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" 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_IncreaseDecreaseInEmployeeRelatedLiabilities" 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_IncreaseDecreaseInAccruedIncomeTaxesPayable" 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_IncreaseDecreaseInOtherNoncurrentLiabilities" 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_NetIncomeLoss" 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_DepreciationDepletionAndAmortization" 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_ProvisionForDoubtfulAccounts" 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_ShareBasedCompensation" 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_UnusualOrInfrequentItemInsuranceProceeds" 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_GainLossOnSaleOfPropertyPlantEquipment" 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_IncreaseDecreaseInAccountsReceivable" 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_IncreaseDecreaseInOtherReceivables" 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_IncreaseDecreaseInInventories" 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_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" 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_IncreaseDecreaseInOtherOperatingAssets" 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_PaymentsToAcquireIntangibleAssets" 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_PaymentsToAcquirePropertyPlantAndEquipment" 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_ProceedsFromInsuranceSettlementInvestingActivities" 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_NetCashProvidedByUsedInFinancingActivities" 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_NetCashProvidedByUsedInInvestingActivities" 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_NetCashProvidedByUsedInOperatingActivities" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://http/20230430/role/statement-note-4-inventories-components-of-inventories-details" xlink:href="occ-20230430.xsd#statement-note-4-inventories-components-of-inventories-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://http/20230430/role/statement-note-4-inventories-components-of-inventories-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventorySuppliesNetOfReserves" xlink:label="us-gaap_InventorySuppliesNetOfReserves" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/20230430/role/statement-note-7-leases-future-payments-due-details" xlink:href="occ-20230430.xsd#statement-note-7-leases-future-payments-due-details" xlink:type="simple"/>
  <link:calculationLink xlink:role="http://http/20230430/role/statement-note-7-leases-future-payments-due-details" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:type="locator"/>
    <link:loc xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" 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_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" 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_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" 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_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" 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_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:type="arc"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:type="arc"/>
  </link:calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>11
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139637812118400">
<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">6 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Apr. 30, 2023</div></th>
<th class="th"><div>Jun. 07, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_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,  2023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">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-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,865,121<span></span>
</td>
</tr>
<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">2023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">FY<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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>12
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139637812144784">
<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, 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_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">$ 324,994<span></span>
</td>
<td class="nump">$ 215,936<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestrictedCash', window );">Restricted cash</a></td>
<td class="nump">1,517,885<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_AccountsReceivableNetCurrent', window );">Trade accounts receivable, net of allowance for doubtful accounts of $84,602 at April 30, 2023 and $69,643 at October 31, 2022</a></td>
<td class="nump">11,306,726<span></span>
</td>
<td class="nump">10,963,753<span></span>
</td>
</tr>
<tr class="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">73,309<span></span>
</td>
<td class="nump">37,442<span></span>
</td>
</tr>
<tr class="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">23,099,964<span></span>
</td>
<td class="nump">19,438,766<span></span>
</td>
</tr>
<tr class="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">459,623<span></span>
</td>
<td class="nump">540,225<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">36,782,501<span></span>
</td>
<td class="nump">31,196,122<span></span>
</td>
</tr>
<tr class="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,274,715<span></span>
</td>
<td class="nump">7,390,285<span></span>
</td>
</tr>
<tr class="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">593,229<span></span>
</td>
<td class="nump">618,142<span></span>
</td>
</tr>
<tr class="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">1,325,441<span></span>
</td>
<td class="nump">1,353,257<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">45,975,886<span></span>
</td>
<td class="nump">40,557,806<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">344,451<span></span>
</td>
<td class="nump">338,094<span></span>
</td>
</tr>
<tr class="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,255,712<span></span>
</td>
<td class="nump">5,354,150<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeRelatedLiabilitiesCurrent', window );">Accrued compensation and payroll taxes</a></td>
<td class="nump">1,990,719<span></span>
</td>
<td class="nump">1,772,551<span></span>
</td>
</tr>
<tr class="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">73,427<span></span>
</td>
<td class="nump">18,098<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,664,309<span></span>
</td>
<td class="nump">7,482,893<span></span>
</td>
</tr>
<tr class="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,006,810<span></span>
</td>
<td class="nump">5,999,663<span></span>
</td>
</tr>
<tr class="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">4,016,555<span></span>
</td>
<td class="nump">4,190,508<span></span>
</td>
</tr>
<tr class="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">721,594<span></span>
</td>
<td class="nump">725,024<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">20,409,268<span></span>
</td>
<td class="nump">18,398,088<span></span>
</td>
</tr>
<tr class="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,865,121 shares at April 30, 2023 and 7,893,194 shares at October 31, 2022</a></td>
<td class="nump">14,812,334<span></span>
</td>
<td class="nump">14,638,505<span></span>
</td>
</tr>
<tr class="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">10,754,284<span></span>
</td>
<td class="nump">7,521,213<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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Total shareholders&#8217; equity</a></td>
<td class="nump">25,566,618<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_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">$ 45,975,886<span></span>
</td>
<td class="nump">$ 40,557,806<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> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19,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_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/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 26: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.17)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.25)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph ((a)(1),(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482686/350-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 21: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 22: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-5<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 21: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><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> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<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/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/2147479617/946-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(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_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://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480842/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestrictedCash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 restricted as to withdrawal or usage. 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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-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(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 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 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(1)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated undistributed earnings (deficit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-11<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent and noncontrolling interest. Excludes temporary equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483421/250-10-45-24<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483421/250-10-45-23<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483421/250-10-45-5<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 5<br> -Subparagraph (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479654/326-10-65-5<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (i)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 848<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)(3)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483550/848-10-65-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479343/105-10-65-6<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479343/105-10-65-6<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482615/740-10-65-8<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482615/740-10-65-8<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479654/326-10-65-4<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480336/718-10-65-15<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480336/718-10-65-15<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480336/718-10-65-15<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-5<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481674/830-30-50-1<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-17<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-20<br><br>Reference 29: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-11<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-3<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481004/946-505-50-3<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 34: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 38: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 39: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 40: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 41: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-15<br><br>Reference 42: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-16<br><br>Reference 43: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4I<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4I<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<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> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19,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_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>13
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139637813292704">
<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, 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_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Accounts Receivable, Allowance for Credit Loss, Current</a></td>
<td class="nump">$ 84,602<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_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, Ending Balance (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,865,121<span></span>
</td>
<td class="nump">7,893,194<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common Stock, Shares, Outstanding, Ending Balance (in shares)</a></td>
<td class="nump">7,865,121<span></span>
</td>
<td class="nump">7,893,194<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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>14
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139637814729984">
<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, 2023</div></th>
<th class="th"><div>Apr. 30, 2022</div></th>
<th class="th"><div>Apr. 30, 2023</div></th>
<th class="th"><div>Apr. 30, 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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net sales</a></td>
<td class="nump">$ 19,619,536<span></span>
</td>
<td class="nump">$ 17,200,578<span></span>
</td>
<td class="nump">$ 37,903,211<span></span>
</td>
<td class="nump">$ 31,640,873<span></span>
</td>
</tr>
<tr class="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,836,830<span></span>
</td>
<td class="nump">12,167,132<span></span>
</td>
<td class="nump">24,599,296<span></span>
</td>
<td class="nump">22,561,575<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">6,782,706<span></span>
</td>
<td class="nump">5,033,446<span></span>
</td>
<td class="nump">13,303,915<span></span>
</td>
<td class="nump">9,079,298<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpense', window );">Selling, general and administrative expenses</a></td>
<td class="nump">5,662,339<span></span>
</td>
<td class="nump">5,036,331<span></span>
</td>
<td class="nump">11,117,805<span></span>
</td>
<td class="nump">9,816,530<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,572<span></span>
</td>
<td class="nump">6,586<span></span>
</td>
<td class="nump">13,158<span></span>
</td>
<td class="nump">13,544<span></span>
</td>
</tr>
<tr class="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,689<span></span>
</td>
<td class="nump">11,540<span></span>
</td>
<td class="nump">26,910<span></span>
</td>
<td class="nump">23,635<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="nump">1,100,106<span></span>
</td>
<td class="num">(21,011)<span></span>
</td>
<td class="nump">2,146,042<span></span>
</td>
<td class="num">(774,411)<span></span>
</td>
</tr>
<tr class="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">(286,065)<span></span>
</td>
<td class="num">(182,531)<span></span>
</td>
<td class="num">(556,688)<span></span>
</td>
<td class="num">(340,791)<span></span>
</td>
</tr>
<tr class="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 received for damage to property and equipment</a></td>
<td class="nump">1,696,290<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,696,290<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_OtherNonoperatingIncomeExpense', window );">Other, net</a></td>
<td class="num">(12,311)<span></span>
</td>
<td class="num">(29,643)<span></span>
</td>
<td class="nump">54,824<span></span>
</td>
<td class="num">(41,028)<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 expense, net</a></td>
<td class="nump">1,397,914<span></span>
</td>
<td class="num">(212,174)<span></span>
</td>
<td class="nump">1,194,426<span></span>
</td>
<td class="num">(381,819)<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="nump">2,498,020<span></span>
</td>
<td class="num">(233,185)<span></span>
</td>
<td class="nump">3,340,468<span></span>
</td>
<td class="num">(1,156,230)<span></span>
</td>
</tr>
<tr class="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">74,933<span></span>
</td>
<td class="num">(5,194)<span></span>
</td>
<td class="nump">107,397<span></span>
</td>
<td class="nump">7,554<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="nump">$ 2,423,087<span></span>
</td>
<td class="num">$ (227,991)<span></span>
</td>
<td class="nump">$ 3,233,071<span></span>
</td>
<td class="num">$ (1,163,784)<span></span>
</td>
</tr>
<tr class="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="nump">$ 0.31<span></span>
</td>
<td class="num">$ (0.03)<span></span>
</td>
<td class="nump">$ 0.41<span></span>
</td>
<td class="num">$ (0.16)<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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482686/350-30-45-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://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),(d))<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_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 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -SubTopic 20<br> -Topic 940<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481913/940-20-25-1<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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 the cost of borrowed funds 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/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.9)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 7: 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 (210.5-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<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 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>15
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139637807289632">
<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, 2021</a></td>
<td class="nump">7,897,477<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, 2021</a></td>
<td class="nump">$ 14,337,649<span></span>
</td>
<td class="nump">$ 7,868,304<span></span>
</td>
<td class="nump">$ 22,205,953<span></span>
</td>
</tr>
<tr class="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">(47,479)<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">$ 19,803<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">19,803<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income (loss)</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">(935,793)<span></span>
</td>
<td class="num">(935,793)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balances (in shares) at Jan. 31, 2022</a></td>
<td class="nump">7,849,998<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, 2022</a></td>
<td class="nump">$ 14,357,452<span></span>
</td>
<td class="nump">6,932,511<span></span>
</td>
<td class="nump">21,289,963<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, 2021</a></td>
<td class="nump">7,897,477<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, 2021</a></td>
<td class="nump">$ 14,337,649<span></span>
</td>
<td class="nump">7,868,304<span></span>
</td>
<td class="nump">22,205,953<span></span>
</td>
</tr>
<tr class="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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,163,784)<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, 2022</a></td>
<td class="nump">7,894,862<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, 2022</a></td>
<td class="nump">$ 14,470,664<span></span>
</td>
<td class="nump">6,704,520<span></span>
</td>
<td class="nump">21,175,184<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balances (in shares) at Jan. 31, 2022</a></td>
<td class="nump">7,849,998<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, 2022</a></td>
<td class="nump">$ 14,357,452<span></span>
</td>
<td class="nump">6,932,511<span></span>
</td>
<td class="nump">21,289,963<span></span>
</td>
</tr>
<tr class="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="nump">44,864<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">$ 113,212<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">113,212<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income (loss)</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">(227,991)<span></span>
</td>
<td class="num">(227,991)<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, 2022</a></td>
<td class="nump">7,894,862<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, 2022</a></td>
<td class="nump">$ 14,470,664<span></span>
</td>
<td class="nump">6,704,520<span></span>
</td>
<td class="nump">21,175,184<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_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="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">$ 34,322<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">34,322<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income (loss)</a></td>
<td class="nump">$ 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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income (loss)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="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="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">(3,447)<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">$ 139,507<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">139,507<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income (loss)</a></td>
<td class="nump">$ 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>
</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 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued which are neither cancelled nor held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139637806258768">
<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, 2023</div></th>
<th class="th"><div>Apr. 30, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Cash flows from operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income (loss)</a></td>
<td class="nump">$ 3,233,071<span></span>
</td>
<td class="num">$ (1,163,784)<span></span>
</td>
</tr>
<tr class="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 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">496,661<span></span>
</td>
<td class="nump">569,257<span></span>
</td>
</tr>
<tr class="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 recovery</a></td>
<td class="nump">14,959<span></span>
</td>
<td class="nump">18,038<span></span>
</td>
</tr>
<tr class="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">289,680<span></span>
</td>
<td class="nump">237,651<span></span>
</td>
</tr>
<tr class="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 received for damage to property and equipment</a></td>
<td class="num">(1,696,290)<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_GainLossOnSaleOfPropertyPlantEquipment', window );">Loss on sale of property and equipment</a></td>
<td class="nump">10,307<span></span>
</td>
<td class="nump">31,905<span></span>
</td>
</tr>
<tr class="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="num">(357,932)<span></span>
</td>
<td class="num">(2,193,887)<span></span>
</td>
</tr>
<tr class="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="num">(35,867)<span></span>
</td>
<td class="nump">21,647<span></span>
</td>
</tr>
<tr class="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="num">(3,661,198)<span></span>
</td>
<td class="num">(2,342,183)<span></span>
</td>
</tr>
<tr class="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">80,602<span></span>
</td>
<td class="nump">100,399<span></span>
</td>
</tr>
<tr class="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="num">(103,560)<span></span>
</td>
<td class="nump">193,872<span></span>
</td>
</tr>
<tr class="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">(102,154)<span></span>
</td>
<td class="nump">1,932,023<span></span>
</td>
</tr>
<tr class="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="nump">218,168<span></span>
</td>
<td class="nump">276,170<span></span>
</td>
</tr>
<tr class="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">55,329<span></span>
</td>
<td class="nump">3,790<span></span>
</td>
</tr>
<tr class="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="nump">65,078<span></span>
</td>
<td class="num">(712,902)<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 used in operating activities</a></td>
<td class="num">(1,493,146)<span></span>
</td>
<td class="num">(3,028,004)<span></span>
</td>
</tr>
<tr class="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">(230,252)<span></span>
</td>
<td class="num">(100,313)<span></span>
</td>
</tr>
<tr class="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 received for damange to property and equipment</a></td>
<td class="nump">1,696,290<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_PaymentsToAcquireIntangibleAssets', window );">Investment in intangible assets</a></td>
<td class="num">(1,997)<span></span>
</td>
<td class="num">(11,669)<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="nump">1,464,041<span></span>
</td>
<td class="num">(111,982)<span></span>
</td>
</tr>
<tr class="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">(115,851)<span></span>
</td>
<td class="num">(104,636)<span></span>
</td>
</tr>
<tr class="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">(167,596)<span></span>
</td>
<td class="num">(161,049)<span></span>
</td>
</tr>
<tr class="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">(17,652)<span></span>
</td>
<td class="num">(16,833)<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 financing activities</a></td>
<td class="nump">1,656,048<span></span>
</td>
<td class="nump">3,246,771<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="nump">1,626,943<span></span>
</td>
<td class="nump">106,785<span></span>
</td>
</tr>
<tr class="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">215,936<span></span>
</td>
<td class="nump">132,249<span></span>
</td>
</tr>
<tr class="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,842,879<span></span>
</td>
<td class="nump">239,034<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_PinnacleFinancialPartnersMember', window );">Pinnacle Financial Partners [Member] | Virginia Real Estate Loan and North Carolina Real Estate Loan [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">41,292,679<span></span>
</td>
<td class="nump">33,107,669<span></span>
</td>
</tr>
<tr class="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">$ (39,285,532)<span></span>
</td>
<td class="num">$ (29,528,380)<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/2147481877/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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/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 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 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_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> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<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_PinnacleFinancialPartnersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PinnacleFinancialPartnersMember</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_VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember</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>17
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139637907406864">
<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">6 Months Ended</th>
</tr>
<tr><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_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="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; 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 accompanying unaudited condensed consolidated financial statements of Optical Cable Corporation and its subsidiaries (collectively, the &#8220;Company&#8221; or &#8220;OCC&#174;&#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, 2023 are not necessarily indicative of the results for the fiscal year ending October 31, 2023 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, 2022 (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, 2022.</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>18
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139637907482048">
<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">6 Months Ended</th>
</tr>
<tr><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_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 Plans 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, 2023, there were approximately 384,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, 2023 was $154,639 and $289,680, 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, 2022 was $113,212 and $237,651, 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, 2023 consisted of restricted shares withheld for taxes in connection with the vesting of restricted shares totaling 28,073 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, 2023, 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.2 year weighted-average period is approximately $730,000.</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>19
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139637817275936">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 3 - Allowance for Doubtful Accounts for Trade Accounts Receivable<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_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 Doubtful Accounts 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 doubtful accounts for trade accounts receivable for the six months ended April 30, 2023 and 2022 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: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;">

		<tbody><tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b> </b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>April 30,</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">69,643</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">61,527</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Bad debt expense</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">18,038</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">84,602</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">79,565</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#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_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>20
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139637907609120">
<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">6 Months Ended</th>
</tr>
<tr><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_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, 2023 and October 31, 2022 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%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;">

		<tbody><tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>April 30,</b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>October 31,</b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2023</b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2022</b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Finished goods</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5,581,554</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,894,102</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Work in process</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5,249,317</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,054,789</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Raw materials</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">11,876,802</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">11,093,140</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Production supplies</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">392,291</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">396,735</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">23,099,964</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">19,438,766</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#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>21
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139637910879344">
<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">6 Months Ended</th>
</tr>
<tr><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_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, 2023 and October 31, 2022, the Company&#8217;s accrual for estimated product warranty claims totaled $65,000 and $75,000, respectively, and is included in accounts payable and accrued expenses. Warranty claims expense for the three months and six months ended April 30, 2023 totaled $13,078 and $29,652, respectively. Warranty claims expense for the three months and six months ended April 30, 2022 totaled $15,641 and $23,535, 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, 2023 and 2022:</p>

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


<table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;">

		<tbody><tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b> </b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>April 30,</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">75,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">75,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">59,149</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">80,092</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">(39,652</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">(33,535</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">(56,557</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">65,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">65,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#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>22
<FILENAME>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139637810849872">
<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">6 Months Ended</th>
</tr>
<tr><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_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;), a supplemental real estate term loan, as amended and restated (the &#8220;North Carolina Real Estate Loan&#8221;) and a Revolving Credit Master Promissory Note and related agreements (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;">Both the Virginia Real Estate Loan and the North Carolina Real Estate Loan are with Northeast Bank, have a fixed interest rate of 3.95% and are secured by a first lien deed of trust on the Company&#8217;s real property. Also see note 12.</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:27pt;">Long-term debt as of April 30, 2023 and October 31, 2022 consists 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%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;">

		<tbody><tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>April 30,</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>October 31,</b> </b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Virginia Real Estate Loan ($6.5 million original principal) payable in monthly installments of $31,812, including interest (at 3.95%), with final payment of $3,318,029 due May 1, 2024</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">3,550,720</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">3,669,294</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">North Carolina Real Estate Loan ($2.24 million original principal) payable in monthly installments of $10,963, including interest (at 3.95%), with final payment of $711,773 due May 1, 2024</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">810,286</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">859,308</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt; text-indent: -9pt;">Total long-term debt</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">4,361,006</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">4,528,602</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Less current installments</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">344,451</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">338,094</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Long-term debt, excluding current installments</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">4,016,555</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">4,190,508</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#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;">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 Prime Rate in effect from time to time, but not less than 4.75% (the &#8220;Applicable Rate&#8221;). In the event of a default, interest may become 6.0% above the Applicable Rate. As of April 30, 2023, the Revolver accrued interest at the prime lending rate plus 1.5% (resulting in a 9.5% rate at April 30, 2023). The termination date of the Revolver is July 24, 2025 and the loan may be extended in <span style="-sec-ix-hidden:c490">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, 2023, the Company had $8.0 million of outstanding borrowings on its Revolver and $5.0 million in available credit. As of October 31, 2022, the Company had $6.0 million of outstanding borrowings on its Revolver and $5.9 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>23
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139637812128336">
<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">6 Months Ended</th>
</tr>
<tr><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_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:c543">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 $779,031 and $662,328 were included in other assets at April 30, 2023 and October 31, 2022, respectively. Operating lease liabilities of $395,891 and $439,520 were included in accounts payable and accrued expenses, and other noncurrent liabilities, respectively, at April 30, 2023. Operating lease liabilities of $355,183 and $374,570 were included in accounts payable and accrued expenses, and other noncurrent liabilities, respectively, at October 31, 2022. Operating lease expense recognized during the three months and six months ended April 30, 2023 totaled $109,144 and $212,477, respectively. Operating lease expense recognized during the three months and six months ended April 30, 2022 totaled $103,333 and $206,667, 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 26.2 months and the weighted average discount rate was 7.1% as of April 30, 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;">For the three months ended April 30, 2023 and 2022, cash paid for operating lease liabilities totaled $109,151 and $107,835, respectively. For the three months ended April 30, 2023 and 2022, there were <span style="-sec-ix-hidden:c595">no</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 $156,091 and $170,839 were included in other assets at April 30, 2023 and October 31, 2022, respectively. Finance lease liabilities of $36,581 and $112,404 were included in accounts payable and accrued expenses, and other noncurrent liabilities, respectively, at April 30, 2023. Finance lease liabilities of $35,724 and $130,911 were included in accounts payable and accrued expenses, and other noncurrent liabilities, respectively, at October 31, 2022. 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. Interest expense related to the finance lease totaled $2,251 and $4,601, respectively, for the three months and six months ended April 30, 2022. For the three months ended April 30, 2023 and 2022, amortization expense related to the finance lease totaled $7,374. For the six months ended April 30, 2023 and 2022, 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 40 months and the discount rate is 4.75% as of April 30, 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;">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;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, 2022, cash paid for the finance lease liability totaled $2,251 for interest and $8,466 for principal. For the six months ended April 30, 2022, cash paid for the finance lease liability totaled $4,601 for interest and $16,833 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: 10%; margin-left: 10%; width: 80%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;">

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

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

			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>lease</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">2023 <b>(1)</b></p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">220,050</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">21,434</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">2024</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">448,298</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">42,868</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">2025</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">177,997</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">42,868</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">2026</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">55,715</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">909,989</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">162,885</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Present value discount</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">(74,578</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">(13,900</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Total lease liability</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">835,411</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">148,985</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
		</tr>

</tbody></table>


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

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

		<tbody><tr style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;">
			<td colspan="1" style="vertical-align: bottom; width: 9%; 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)</b> Remaining six months of fiscal year 2023.</p>
			</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_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>24
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139637817699472">
<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">6 Months Ended</th>
</tr>
<tr><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_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, 2023 and October 31, 2022 for cash, restricted cash, trade accounts receivable, other receivables, current installments of long-term debt, accounts payable and accrued expenses, and accrued compensation and payroll taxes approximate fair value because of the short maturity of these instruments. The carrying values of the Company&#8217;s note payable, revolver &#8211; noncurrent, and long-term debt, excluding current installments, approximate fair value based on long-term debt issues available to the Company as of April 30, 2023 and October 31, 2022. 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/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>25
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139637817181664">
<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">6 Months Ended</th>
</tr>
<tr><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_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: 'Times New Roman', Times, serif; font-size: 10pt;"><b><a href="#" id="note9" title="note9"/>(9)</b></p>
			</td>
			<td style="width: auto;">
			<p style="margin: 0pt; text-align: left; font-family: 'Times New Roman', 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%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;">

		<tbody><tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three months ended</b> </b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six months ended</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>April 30,</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>April 30,</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 48%;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,423,087</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(227,991</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,233,071</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(1,163,784</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Shares (denominator)</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; 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;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">7,487,337</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; 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;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">7,464,862</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; 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;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(0.03</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; 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;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(0.16</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</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, 2022 totaling 373,751 and 403,114, respectively, 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, 2022 (because to include such shares would have been antidilutive, or in other words, to do so would have reduced the net loss per share for that period).</p>

<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_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>26
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139637817709824">
<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">6 Months Ended</th>
</tr>
<tr><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_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, 2023 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, 2023, 17.7% and 16.3%, respectively, of consolidated net sales were attributable to <span style="-sec-ix-hidden:c754"><span style="-sec-ix-hidden:c755">one</span></span> national distributor customer. For the three months and six months ended April 30, 2022, 17.0% and 17.1%, respectively, of consolidated net sales were attributable to <span style="-sec-ix-hidden:c762">one</span> 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 single 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>27
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139637816988880">
<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">6 Months Ended</th>
</tr>
<tr><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_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 $59,660 as of April 30, 2023 and $317,310 as of October 31, 2022.</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 $208,034 as of April 30, 2023 and $233,494 as of October 31, 2022.</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, 2023 and 2022:</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%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;">

		<tbody><tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Three months ended</b></b> </b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six months ended</b> </b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>April 30,</b></b> </b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>April 30,</b> </b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2023</b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2022</b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">United States</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">15,829,216</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">14,792,289</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">30,407,301</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">26,936,668</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;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;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; 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;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,408,289</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; 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;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4,704,205</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 24.2%;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 36pt;">Total net sales</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; 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;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">17,200,578</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; 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;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">31,640,873</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#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>28
<FILENAME>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139637817709824">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 12 - Restricted Cash and Gain on Insurance Proceeds<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_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_UnusualOrInfrequentItemsDisclosureTextBlock', window );">Unusual or Infrequent Items, or Both, 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>Restricted Cash and Gain on Insurance Proceeds</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;margin:0pt 0pt 0pt 27pt;"><i>Restricted 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 0pt 0pt 27pt;">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. The office building is separate from the Company&#8217;s manufacturing building which houses its manufacturing operations and certain offices at the same location. The Company has insurance coverage for the office building, its contents and certain business expenses to cover damages and any 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 0pt 0pt 27pt;">As of April 30, 2023, the Company has restricted cash of $1,517,885, resulting from the receipt of a portion of the proceeds from the insurance claim for which offsetting expenses have not yet been incurred. The insurance proceeds recorded as restricted cash relate to the collateral for the Company&#8217;s real estate term loans with Northeast Bank and, as a result, are held in escrow. Cash may be released from escrow as the Company submits details of expenses incurred for restoration and repair of the related property to Northeast Bank. Any cash remaining in escrow after any restoration and repairs are completed, will be available for the benefit of the Company or to pay down the real estate term loans once Northeast Bank is satisfied that the collateral has been returned to an acceptable state. Cash may also be released from escrow in the event the Company pays off the real estate term loans with Northeast Bank.</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;margin:0pt 0pt 0pt 27pt;"><i>Gain on Insurance Proceeds</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;">During the second quarter of fiscal year 2023, the Company received insurance proceeds in connection with the office building and its contents at the Company&#8217;s Asheville facilities sustaining water damage from a burst pipe at the end of December 2022. The office building damaged is separate from the Company&#8217;s manufacturing building, which houses its manufacturing operations and certain offices at the same location. There was no significant impact to the Company&#8217;s operations as a result of this event.</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;">Insurance proceeds for all assets covered, net of applicable deductibles, received through April 30, 2023 totaled $2,056,008. During the first half of fiscal year 2023, the Company recorded a loss on property and equipment totaling $7,538 and incurred expenses for building stabilization and cleaning, removal of damaged items, and other miscellaneous and related activities totaling $359,718.</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;">Insurance proceeds received in excess of expenses incurred through April 30, 2023, a net total of $1,696,290, is included in other income (expense), net as a gain on insurance proceeds received for damage to property and equipment on the Company&#8217;s condensed consolidated statement of operations. To the extent the Company incurs expenses in future periods for renovation, repair or replacement or damaged assets, the Company may recognize offsetting losses in those future periods. The Company does not expect any future restoration and repair costs to exceed any insurance proceeds.</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_UnusualOrInfrequentItemsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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> -Publisher FASB<br> -URI https://asc.fasb.org//220-20/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_UnusualOrInfrequentItemsDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139637907631632">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 13 - Contingencies<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_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>(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>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/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 2: 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 3: 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/2147480327/954-440-50-1<br><br>Reference 4: 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 5: 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>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139637817267216">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 14 - New Accounting Standards Not Yet Adopted<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_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>(14) </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: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 28pt; text-align: justify;">There are no 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 28pt;">&#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 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 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(iii)<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 (g)(2)(iv)<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 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 6: 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 7: 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 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (i)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 5<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479832/842-10-65-5<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 5<br> -Subparagraph (f)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479832/842-10-65-5<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-2<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 2<br> -Subparagraph (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (c)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-2<br><br>Reference 14: 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 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479343/105-10-65-6<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 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482615/740-10-65-8<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482615/740-10-65-8<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (e)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482615/740-10-65-8<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482833/825-10-65-6<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482833/825-10-65-6<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482833/825-10-65-6<br><br>Reference 23: 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 24: 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 25: 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 26: 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 27: 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 28: 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 29: 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 30: 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 31: 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 32: 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><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -SubTopic 20<br> -Topic 310<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481925/310-20-65-2<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -SubTopic 20<br> -Topic 310<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481925/310-20-65-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_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>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139637817293840">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 3 - Allowance for Doubtful Accounts for Trade Accounts Receivable (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_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%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;">

		<tbody><tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b> </b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>April 30,</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">69,643</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">61,527</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Bad debt expense</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">18,038</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">84,602</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">79,565</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#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>32
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139637907635152">
<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">6 Months Ended</th>
</tr>
<tr><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_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%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;">

		<tbody><tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>April 30,</b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>October 31,</b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2023</b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2022</b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Finished goods</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5,581,554</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,894,102</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Work in process</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">5,249,317</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">4,054,789</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Raw materials</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">11,876,802</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">11,093,140</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Production supplies</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">392,291</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">396,735</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">23,099,964</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">19,438,766</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#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>33
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139637817709824">
<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">6 Months Ended</th>
</tr>
<tr><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_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%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;">

		<tbody><tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six Months Ended</b> </b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>April 30,</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 68%;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">75,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">75,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">59,149</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">80,092</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">(39,652</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">(33,535</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">(56,557</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">65,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">65,000</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#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>34
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139637907635152">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 6 - Long-term Debt and Notes Payable (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><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_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_ScheduleOfDebtTableTextBlock', window );">Schedule of Debt [Table Text Block]</a></td>
<td class="text">
<table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;">

		<tbody><tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>April 30,</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>October 31,</b> </b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Virginia Real Estate Loan ($6.5 million original principal) payable in monthly installments of $31,812, including interest (at 3.95%), with final payment of $3,318,029 due May 1, 2024</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">3,550,720</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">3,669,294</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">North Carolina Real Estate Loan ($2.24 million original principal) payable in monthly installments of $10,963, including interest (at 3.95%), with final payment of $711,773 due May 1, 2024</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">810,286</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">859,308</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt; text-indent: -9pt;">Total long-term debt</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">4,361,006</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">4,528,602</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Less current installments</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">344,451</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 13%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">338,094</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Long-term debt, excluding current installments</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">4,016,555</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">4,190,508</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#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_ScheduleOfDebtTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of information pertaining to short-term and long-debt instruments or arrangements, including but not limited to identification of terms, features, collateral requirements and other information necessary to a fair presentation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDebtTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<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>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139637814696624">
<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">6 Months Ended</th>
</tr>
<tr><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_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: 10%; margin-left: 10%; width: 80%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;">

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

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

			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>lease</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">2023 <b>(1)</b></p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">220,050</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">21,434</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">2024</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">448,298</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">42,868</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">2025</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">177,997</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">42,868</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">2026</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 16%; text-align: right; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;">55,715</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">909,989</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right;">162,885</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Present value discount</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">(74,578</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);">&#160;</td>
			<td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);">(13,900</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Total lease liability</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">835,411</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td>
			<td style="width: 16%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;">148,985</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#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_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>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139637810851168">
<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">6 Months Ended</th>
</tr>
<tr><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_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%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;">

		<tbody><tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Three months ended</b> </b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six months ended</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>April 30,</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>April 30,</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 48%;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">2,423,087</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(227,991</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">3,233,071</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">(1,163,784</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">)</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt;">Shares (denominator)</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; 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;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">7,487,337</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; 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;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">7,464,862</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">
			<p style="font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; 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;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(0.03</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; 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;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">(0.16</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</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>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139637810851168">
<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">6 Months Ended</th>
</tr>
<tr><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_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%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-indent: 0px;">

		<tbody><tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>Three months ended</b></b> </b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>Six months ended</b> </b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>April 30,</b></b> </b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>April 30,</b> </b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom;">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2023</b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b><b>2022</b></b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2023</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"><b><b>2022</b></b></p>
			</td>
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">United States</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">15,829,216</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">14,792,289</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">30,407,301</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">$</td>
			<td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">26,936,668</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);">
			<td colspan="1" style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; margin-left: 0pt;">
			<p style="font-family:Times New Roman;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;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; 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;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,408,289</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; 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;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4,704,205</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">&#160;</td>
		</tr>
		<tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);">
			<td style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; width: 24.2%;">
			<p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 36pt;">Total net sales</p>
			</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; 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;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">17,200,578</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; 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;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt;">&#160;</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">31,640,873</td>
			<td style="width: 1%; font-family: &quot;Times New Roman&quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;">&#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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph a<br> -SubTopic 10<br> -Topic 280<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>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139637806237136">
<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="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Apr. 30, 2023</div></th>
<th class="th"><div>Apr. 30, 2022</div></th>
<th class="th"><div>Apr. 30, 2023</div></th>
<th class="th"><div>Apr. 30, 2022</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=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>
</tr>
<tr class="ro">
<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="nump">28,073<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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 (Year)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">1 year 2 months 12 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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="nump">$ 730,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 730,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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant</a></td>
<td class="nump">384,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">384,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] | 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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Share-Based Payment Arrangement, Expense</a></td>
<td class="nump">$ 154,639<span></span>
</td>
<td class="nump">$ 113,212<span></span>
</td>
<td class="nump">$ 289,680<span></span>
</td>
<td class="nump">$ 237,651<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_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_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>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139637910865952">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 3 - Allowance for Doubtful Accounts 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, 2023</div></th>
<th class="th"><div>Apr. 30, 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_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Balance at beginning of period</a></td>
<td class="nump">$ 69,643<span></span>
</td>
<td class="nump">$ 61,527<span></span>
</td>
</tr>
<tr class="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</a></td>
<td class="nump">14,959<span></span>
</td>
<td class="nump">18,038<span></span>
</td>
</tr>
<tr class="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">$ 84,602<span></span>
</td>
<td class="nump">$ 79,565<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>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139637811996448">
<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, 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_InventoryFinishedGoodsNetOfReserves', window );">Finished goods</a></td>
<td class="nump">$ 5,581,554<span></span>
</td>
<td class="nump">$ 3,894,102<span></span>
</td>
</tr>
<tr class="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">5,249,317<span></span>
</td>
<td class="nump">4,054,789<span></span>
</td>
</tr>
<tr class="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,876,802<span></span>
</td>
<td class="nump">11,093,140<span></span>
</td>
</tr>
<tr class="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">392,291<span></span>
</td>
<td class="nump">396,735<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">$ 23,099,964<span></span>
</td>
<td class="nump">$ 19,438,766<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://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><br>Reference 2: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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://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><br>Reference 2: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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://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><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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://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><br>Reference 2: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139637910868064">
<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, 2023</div></th>
<th class="th"><div>Apr. 30, 2022</div></th>
<th class="th"><div>Apr. 30, 2023</div></th>
<th class="th"><div>Apr. 30, 2022</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
<th class="th"><div>Oct. 31, 2021</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">$ 65,000<span></span>
</td>
<td class="nump">$ 65,000<span></span>
</td>
<td class="nump">$ 65,000<span></span>
</td>
<td class="nump">$ 65,000<span></span>
</td>
<td class="nump">$ 75,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">13,078<span></span>
</td>
<td class="nump">$ 15,641<span></span>
</td>
<td class="nump">29,652<span></span>
</td>
<td class="nump">$ 23,535<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">$ 65,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 65,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>
</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://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 2: 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 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)(5)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-8<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.15(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139637811992768">
<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, 2023</div></th>
<th class="th"><div>Apr. 30, 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 );">Balance at beginning of period</a></td>
<td class="nump">$ 75,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">59,149<span></span>
</td>
<td class="nump">80,092<span></span>
</td>
</tr>
<tr class="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">(39,652)<span></span>
</td>
<td class="num">(33,535)<span></span>
</td>
</tr>
<tr class="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">(29,497)<span></span>
</td>
<td class="num">(56,557)<span></span>
</td>
</tr>
<tr class="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">$ 65,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://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 2: 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 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)(5)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-8<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.15(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139637806149136">
<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">6 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jul. 24, 2020</div></th>
<th class="th"><div>Apr. 30, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityAxis=occ_PinnacleFinancialPartnersMember', window );">Pinnacle Financial Partners [Member] | Revolving Credit Facility [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCredit', window );">Long-Term Line of Credit, Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 8,000,000.0<span></span>
</td>
<td class="nump">$ 6,000,000.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_LineOfCreditFacilityRemainingBorrowingCapacity', window );">Line of Credit Facility, Remaining Borrowing Capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,000,000.0<span></span>
</td>
<td class="nump">$ 5,900,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_LineOfCreditFacilityAxis=occ_PinnacleFinancialPartnersMember', window );">Pinnacle Financial Partners [Member] | Virginia Real Estate Loan and North Carolina 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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Debt Instrument, Interest Rate, Stated Percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3.95%<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_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>
<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_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="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="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="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_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="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">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="text">&#160;<span></span>
</td>
</tr>
<tr class="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">4.75%<span></span>
</td>
<td class="nump">9.50%<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_DebtInstrumentTermExtensions', window );">Debt Instrument, Term Extensions (Year)</a></td>
<td class="text">1 year<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_LineOfCreditFacilityAxis=occ_NorthMillCapitalLlcMember', window );">North Mill Capital LLC [Member] | Revolving Credit Facility [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">6.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityAxis=occ_NorthMillCapitalLlcMember', window );">North Mill Capital LLC [Member] | Revolving Credit Facility [Member] | Prime Rate [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Debt Instrument, Basis Spread on Variable Rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.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_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_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/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 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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_DebtInstrumentInterestRateStatedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contractual interest rate for funds borrowed, under the debt agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(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_DebtInstrumentInterestRateStatedPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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://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/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_LineOfCreditFacilityAxis=occ_PinnacleFinancialPartnersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PinnacleFinancialPartnersMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=occ_VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember</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_VariableRateAxis=us-gaap_PrimeRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableRateAxis=us-gaap_PrimeRateMember</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>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139637809426528">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 6 - Long-term Debt and Notes Payable - Long-term Debt (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Apr. 30, 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_LongTermDebt', window );">Total long-term debt</a></td>
<td class="nump">$ 4,361,006<span></span>
</td>
<td class="nump">$ 4,528,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_LongTermDebtCurrent', window );">Less current installments</a></td>
<td class="nump">344,451<span></span>
</td>
<td class="nump">338,094<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtNoncurrent', window );">Long-term debt, excluding current installments</a></td>
<td class="nump">4,016,555<span></span>
</td>
<td class="nump">4,190,508<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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Total long-term debt</a></td>
<td class="nump">3,550,720<span></span>
</td>
<td class="nump">3,669,294<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_NorthCarolinaRealEstateLoanMember', window );">North Carolina Real Estate Loan [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Total long-term debt</a></td>
<td class="nump">$ 810,286<span></span>
</td>
<td class="nump">$ 859,308<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_LongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease 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> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69C<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 5: 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/2147479440/944-210-S99-1<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(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_LongTermDebtCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as current. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(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_LongTermDebtCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_us-gaap_LongtermDebtTypeAxis=occ_NorthCarolinaRealEstateLoanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_NorthCarolinaRealEstateLoanMember</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>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139637807314448">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 6 - Long-term Debt and Notes Payable - Long-term Debt (Details) (Parentheticals) - USD ($)<br></strong></div></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>Apr. 30, 2023</div></th>
<th class="th"><div>Oct. 31, 2022</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Debt Instrument, Face Amount</a></td>
<td class="nump">$ 6,500,000<span></span>
</td>
<td class="nump">$ 6,500,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentPeriodicPayment', window );">Debt Instrument, Periodic Payment</a></td>
<td class="nump">$ 31,812<span></span>
</td>
<td class="nump">$ 31,812<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Debt Instrument, Interest Rate, Stated Percentage</a></td>
<td class="nump">3.95%<span></span>
</td>
<td class="nump">3.95%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentPeriodicPaymentTermsBalloonPaymentToBePaid', window );">Debt Instrument, Periodic Payment Terms, Balloon Payment to be Paid</a></td>
<td class="nump">$ 3,318,029<span></span>
</td>
<td class="nump">$ 3,318,029<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentMaturityDate', window );">Debt Instrument, Maturity Date</a></td>
<td class="text">May  01,  2024<span></span>
</td>
<td class="text">May  01,  2024<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_NorthCarolinaRealEstateLoanMember', window );">North Carolina Real Estate Loan [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_DebtInstrumentFaceAmount', window );">Debt Instrument, Face Amount</a></td>
<td class="nump">$ 2,240,000<span></span>
</td>
<td class="nump">$ 2,240,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentPeriodicPayment', window );">Debt Instrument, Periodic Payment</a></td>
<td class="nump">$ 10,963<span></span>
</td>
<td class="nump">$ 10,963<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Debt Instrument, Interest Rate, Stated Percentage</a></td>
<td class="nump">3.95%<span></span>
</td>
<td class="nump">3.95%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentPeriodicPaymentTermsBalloonPaymentToBePaid', window );">Debt Instrument, Periodic Payment Terms, Balloon Payment to be Paid</a></td>
<td class="nump">$ 711,773<span></span>
</td>
<td class="nump">$ 711,773<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentMaturityDate', window );">Debt Instrument, Maturity Date</a></td>
<td class="text">May  01,  2024<span></span>
</td>
<td class="text">May  01,  2024<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_DebtInstrumentFaceAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face (par) amount of debt instrument at time of issuance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/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 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69C<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-2<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482949/835-30-55-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_DebtInstrumentFaceAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentInterestRateStatedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contractual interest rate for funds borrowed, under the debt agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(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_DebtInstrumentInterestRateStatedPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentMaturityDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Date when the debt instrument is scheduled to be fully repaid, in YYYY-MM-DD format.</p></div>
<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 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (bbb)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(2))<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_DebtInstrumentMaturityDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_DebtInstrumentPeriodicPayment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the required periodic payments including both interest and principal payments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 470<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480848/942-470-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentPeriodicPayment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentPeriodicPaymentTermsBalloonPaymentToBePaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of payment greater than the preceding installment payments to be paid at final maturity date of debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentPeriodicPaymentTermsBalloonPaymentToBePaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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_us-gaap_LongtermDebtTypeAxis=occ_NorthCarolinaRealEstateLoanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_NorthCarolinaRealEstateLoanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139637811271952">
<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="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
<th class="th" colspan="1">15 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Apr. 30, 2023 </div>
<div>USD ($) </div>
<div>ft&#178;</div>
</th>
<th class="th">
<div>Apr. 30, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Apr. 30, 2023 </div>
<div>USD ($) </div>
<div>ft&#178;</div>
</th>
<th class="th">
<div>Apr. 30, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Apr. 30, 2023 </div>
<div>USD ($) </div>
<div>ft&#178;</div>
</th>
<th class="th">
<div>Oct. 31, 2022 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseExpense', window );">Operating Lease, Expense</a></td>
<td class="nump">$ 109,144<span></span>
</td>
<td class="nump">$ 103,333<span></span>
</td>
<td class="nump">$ 212,477<span></span>
</td>
<td class="nump">$ 206,667<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 (Month)</a></td>
<td class="text">26 months 6 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">26 months 6 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">26 months 6 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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.10%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7.10%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7.10%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeasePayments', window );">Operating Lease, Payments</a></td>
<td class="nump">$ 109,151<span></span>
</td>
<td class="nump">107,835<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_FinanceLeaseInterestExpense', window );">Finance Lease, Interest Expense</a></td>
<td class="nump">$ 1,840<span></span>
</td>
<td class="nump">2,251<span></span>
</td>
<td class="nump">$ 3,784<span></span>
</td>
<td class="nump">4,601<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_FinanceLeaseRightOfUseAssetAmortization', window );">Finance Lease, Right-of-Use Asset, Amortization</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14,749<span></span>
</td>
<td class="nump">$ 7,374<span></span>
</td>
<td class="nump">14,749<span></span>
</td>
<td class="nump">$ 7,374<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 (Month)</a></td>
<td class="text">40 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">40 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">40 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_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="nump">4.75%<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>
</tr>
<tr class="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">$ 8,878<span></span>
</td>
<td class="nump">$ 8,466<span></span>
</td>
<td class="nump">$ 17,652<span></span>
</td>
<td class="nump">$ 16,833<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_OtherAssetsMember', window );">Other Assets [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_OperatingLeaseRightOfUseAsset', window );">Operating Lease, Right-of-Use Asset</a></td>
<td class="nump">779,031<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">779,031<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 779,031<span></span>
</td>
<td class="nump">$ 662,328<span></span>
</td>
</tr>
<tr class="re">
<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, Total</a></td>
<td class="nump">156,091<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">156,091<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">156,091<span></span>
</td>
<td class="nump">170,839<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="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">395,891<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">395,891<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">395,891<span></span>
</td>
<td class="nump">355,183<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_OtherNoncurrentLiabilitiesMember', window );">Other Noncurrent 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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Operating Lease, Liability, Noncurrent</a></td>
<td class="nump">439,520<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">439,520<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">439,520<span></span>
</td>
<td class="nump">374,570<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityNoncurrent', window );">Finance Lease, Liability, Noncurrent</a></td>
<td class="nump">112,404<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">112,404<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">112,404<span></span>
</td>
<td class="nump">130,911<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=occ_AccountsPayableAndAccruedLiabilitiesCurrentMember', window );">Accounts Payable and Accrued Liabilities, Current [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_FinanceLeaseLiabilityCurrent', window );">Finance Lease, Liability, Current</a></td>
<td class="nump">$ 36,581<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 36,581<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 36,581<span></span>
</td>
<td class="nump">$ 35,724<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 (Square Foot) | ft&#178;</a></td>
<td class="nump">34,000<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="nump">34,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_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 (Square Foot) | ft&#178;</a></td>
<td class="nump">36,000<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="nump">36,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_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">3 years<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>
</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">60 months<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>
</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_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_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_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/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_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_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_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_BalanceSheetLocationAxis=us-gaap_OtherAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OtherAssetsMember</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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=us-gaap_OtherNoncurrentLiabilitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OtherNoncurrentLiabilitiesMember</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_BalanceSheetLocationAxis=occ_AccountsPayableAndAccruedLiabilitiesCurrentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=occ_AccountsPayableAndAccruedLiabilitiesCurrentMember</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_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>47
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139637910873824">
<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, 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_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2023, operating lease</a></td>
<td class="nump">$ 220,050<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_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2023, finance 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_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo', window );">2024, operating lease</a></td>
<td class="nump">448,298<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 );">2024, finance 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_LesseeOperatingLeaseLiabilityPaymentsDueYearThree', 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_FinanceLeaseLiabilityPaymentsDueYearThree', window );">2025, finance 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_LesseeOperatingLeaseLiabilityPaymentsDueYearFour', 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_FinanceLeaseLiabilityPaymentsDueYearFour', window );">2026, finance lease</a></td>
<td class="nump">55,715<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">909,989<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, finance lease</a></td>
<td class="nump">162,885<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">(74,578)<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, finance lease</a></td>
<td class="num">(13,900)<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">835,411<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, finance lease</a></td>
<td class="nump">$ 148,985<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 2023.</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_FinanceLeaseLiabilityPaymentsDueYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<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_LesseeOperatingLeaseLiabilityPaymentsDueYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>48
<FILENAME>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139637907427664">
<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, 2022</div></th>
<th class="th"><div>Apr. 30, 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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount</a></td>
<td class="nump">373,751<span></span>
</td>
<td class="nump">403,114<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>49
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139637806344672">
<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, 2023</div></th>
<th class="th"><div>Jan. 31, 2023</div></th>
<th class="th"><div>Apr. 30, 2022</div></th>
<th class="th"><div>Jan. 31, 2022</div></th>
<th class="th"><div>Apr. 30, 2023</div></th>
<th class="th"><div>Apr. 30, 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_NetIncomeLoss', window );">Net income (loss)</a></td>
<td class="nump">$ 2,423,087<span></span>
</td>
<td class="nump">$ 809,984<span></span>
</td>
<td class="num">$ (227,991)<span></span>
</td>
<td class="num">$ (935,793)<span></span>
</td>
<td class="nump">$ 3,233,071<span></span>
</td>
<td class="num">$ (1,163,784)<span></span>
</td>
</tr>
<tr class="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,867,755<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,487,337<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,880,685<span></span>
</td>
<td class="nump">7,464,862<span></span>
</td>
</tr>
<tr class="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="nump">$ 0.31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (0.03)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.41<span></span>
</td>
<td class="num">$ (0.16)<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 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>50
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139637806327888">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 10 - Segment Information and Business and Credit Concentrations (Details Textual) - Revenue Benchmark [Member] - Customer Concentration Risk [Member]<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, 2023</div></th>
<th class="th"><div>Apr. 30, 2022</div></th>
<th class="th"><div>Apr. 30, 2023</div></th>
<th class="th"><div>Apr. 30, 2022</div></th>
</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="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">Customer One [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">17.70%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">16.30%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">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="text">&#160;<span></span>
</td>
<td class="nump">17.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">17.10%<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_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=occ_CustomerOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CustomerOneMember</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>51
<FILENAME>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139637817055232">
<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, 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_ContractWithCustomerLiability', window );">Contract with Customer, Liability, Total</a></td>
<td class="nump">$ 59,660<span></span>
</td>
<td class="nump">$ 317,310<span></span>
</td>
</tr>
<tr class="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, Total</a></td>
<td class="nump">$ 208,034<span></span>
</td>
<td class="nump">$ 233,494<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>52
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139637814570192">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 11 - Revenue Recognition - Revenue Attributed to United States and All Other Countries (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, 2023</div></th>
<th class="th"><div>Apr. 30, 2022</div></th>
<th class="th"><div>Apr. 30, 2023</div></th>
<th class="th"><div>Apr. 30, 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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net sales</a></td>
<td class="nump">$ 19,619,536<span></span>
</td>
<td class="nump">$ 17,200,578<span></span>
</td>
<td class="nump">$ 37,903,211<span></span>
</td>
<td class="nump">$ 31,640,873<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">15,829,216<span></span>
</td>
<td class="nump">14,792,289<span></span>
</td>
<td class="nump">30,407,301<span></span>
</td>
<td class="nump">26,936,668<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,790,320<span></span>
</td>
<td class="nump">$ 2,408,289<span></span>
</td>
<td class="nump">$ 7,495,910<span></span>
</td>
<td class="nump">$ 4,704,205<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 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>XML
<SEQUENCE>53
<FILENAME>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm139637814568800">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 12 - Restricted Cash and Gain on Insurance Proceeds (Details Textual) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">6 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Apr. 30, 2023</div></th>
<th class="th"><div>Apr. 30, 2022</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_RestrictedCash', window );">Restricted Cash</a></td>
<td class="nump">$ 1,517,885<span></span>
</td>
<td class="text">&#160;<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_ProceedsFromInsuranceSettlementInvestingActivities', window );">Proceeds from Insurance Settlement, Investing Activities</a></td>
<td class="nump">1,696,290<span></span>
</td>
<td class="nump">$ 0<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_UnusualOrInfrequentItemAxis=occ_WaterDamageFromPipeBurstMember', window );">Water Damage from Pipe Burst [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnusualOrInfrequentItemNetOfInsuranceProceeds', window );">Unusual or Infrequent Item, or Both, Net of Insurance Proceeds</a></td>
<td class="nump">2,056,008<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_UnusualOrInfrequentItemGainGross', window );">Unusual or Infrequent Item, or Both, Gain, Gross</a></td>
<td class="nump">7,538<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_UnusualOrInfrequentItemLossGross', window );">Unusual or Infrequent Item, or Both, Loss, Gross</a></td>
<td class="nump">$ 359,718<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_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_RestrictedCash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 restricted as to withdrawal or usage. 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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-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(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 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 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(1)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_UnusualOrInfrequentItemGainGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 recognized in the income statement 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_UnusualOrInfrequentItemGainGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_UnusualOrInfrequentItemLossGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before deduction of insurance proceeds, of loss recognized in the income statement 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_UnusualOrInfrequentItemLossGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_UnusualOrInfrequentItemNetOfInsuranceProceeds">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deduction of insurance proceeds, of loss recognized in the income statement 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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 930<br> -SubTopic 715<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482028/930-715-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 20<br> -Topic 220<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_UnusualOrInfrequentItemNetOfInsuranceProceeds</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnusualOrInfrequentItemAxis=occ_WaterDamageFromPipeBurstMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnusualOrInfrequentItemAxis=occ_WaterDamageFromPipeBurstMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<FILENAME>occ20230430_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/2023"
  xmlns:dei="http://xbrl.sec.gov/dei/2023"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:occ="http://http/20230430"
  xmlns:srt="http://fasb.org/srt/2023"
  xmlns:thunderdome="http://www.RDGFilings.com"
  xmlns:us-gaap="http://fasb.org/us-gaap/2023"
  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-20230430.xsd" xlink:type="simple"/>
    <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_2022-11-01_2023-04-30_UnusualOrInfrequentItemAxis-WaterDamageFromPipeBurstMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:UnusualOrInfrequentItemAxis">occ:WaterDamageFromPipeBurstMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-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="d_2021-11-01_2022-04-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="d_2022-02-01_2022-04-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-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_2021-11-01_2022-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>2021-11-01</startDate>
            <endDate>2022-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_2022-02-01_2022-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-02-01</startDate>
            <endDate>2022-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_2021-11-01_2022-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>2021-11-01</startDate>
            <endDate>2022-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_2022-02-01_2022-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-02-01</startDate>
            <endDate>2022-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="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="d_2022-02-01_2022-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-02-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="d_2021-11-01_2022-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>2021-11-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="d_2022-02-01_2022-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-02-01</startDate>
            <endDate>2022-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_2022-11-01_2023-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-CustomerOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">occ:CustomerOneMember</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-CustomerOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">occ:CustomerOneMember</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_2022-02-01_2023-04-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i_2022-10-31_BalanceSheetLocationAxis-OtherNoncurrentLiabilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherNoncurrentLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i_2022-10-31_BalanceSheetLocationAxis-AccountsPayableAndAccruedLiabilitiesCurrentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">occ:AccountsPayableAndAccruedLiabilitiesCurrentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i_2023-04-30_BalanceSheetLocationAxis-OtherNoncurrentLiabilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherNoncurrentLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-30</instant>
        </period>
    </context>
    <context id="i_2023-04-30_BalanceSheetLocationAxis-AccountsPayableAndAccruedLiabilitiesCurrentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">occ:AccountsPayableAndAccruedLiabilitiesCurrentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-30</instant>
        </period>
    </context>
    <context id="i_2022-10-31_BalanceSheetLocationAxis-OtherAssetsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i_2023-04-30_BalanceSheetLocationAxis-OtherAssetsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-30</instant>
        </period>
    </context>
    <context id="i_2022-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>2022-10-31</instant>
        </period>
    </context>
    <context id="i_2023-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>2023-04-30</instant>
        </period>
    </context>
    <context id="i_2023-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>2023-04-30</instant>
        </period>
    </context>
    <context id="i_2023-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>2023-04-30</instant>
        </period>
    </context>
    <context id="i_2023-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>2023-04-30</instant>
        </period>
    </context>
    <context id="i_2022-10-31_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-PinnacleFinancialPartnersMember">
        <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:PinnacleFinancialPartnersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i_2023-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-PinnacleFinancialPartnersMember">
        <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:PinnacleFinancialPartnersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-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_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>
            <instant>2023-04-30</instant>
        </period>
    </context>
    <context id="d_2022-11-01_2023-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember_VariableRateAxis-PrimeRateMember">
        <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>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i_2023-04-30_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>2023-04-30</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="i_2022-10-31_LongtermDebtTypeAxis-NorthCarolinaRealEstateLoanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">occ:NorthCarolinaRealEstateLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i_2023-04-30_LongtermDebtTypeAxis-NorthCarolinaRealEstateLoanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">occ:NorthCarolinaRealEstateLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-30</instant>
        </period>
    </context>
    <context id="d_2021-11-01_2022-10-31_LongtermDebtTypeAxis-NorthCarolinaRealEstateLoanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">occ:NorthCarolinaRealEstateLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="d_2022-11-01_2023-04-30_LongtermDebtTypeAxis-NorthCarolinaRealEstateLoanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">occ:NorthCarolinaRealEstateLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i_2022-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>2022-10-31</instant>
        </period>
    </context>
    <context id="i_2023-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>2023-04-30</instant>
        </period>
    </context>
    <context id="d_2021-11-01_2022-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>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="d_2022-11-01_2023-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>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i_2023-04-30_LineOfCreditFacilityAxis-PinnacleFinancialPartnersMember_LongtermDebtTypeAxis-VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">occ:PinnacleFinancialPartnersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">occ:VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-30</instant>
        </period>
    </context>
    <context id="i_2022-04-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
        </entity>
        <period>
            <instant>2022-04-30</instant>
        </period>
    </context>
    <context id="i_2021-10-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="i_2023-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>2023-04-30</instant>
        </period>
    </context>
    <context id="d_2022-11-01_2023-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>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="d_2021-11-01_2022-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>2021-11-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="d_2022-02-01_2022-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-02-01</startDate>
            <endDate>2022-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="i_2023-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>2023-04-30</instant>
        </period>
    </context>
    <context id="d_2021-11-01_2022-04-30_LineOfCreditFacilityAxis-PinnacleFinancialPartnersMember_LongtermDebtTypeAxis-VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">occ:PinnacleFinancialPartnersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">occ:VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="d_2022-11-01_2023-04-30_LineOfCreditFacilityAxis-PinnacleFinancialPartnersMember_LongtermDebtTypeAxis-VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">occ:PinnacleFinancialPartnersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">occ:VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i_2022-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>2022-04-30</instant>
        </period>
    </context>
    <context id="i_2022-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>2022-04-30</instant>
        </period>
    </context>
    <context id="d_2022-02-01_2022-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>2022-02-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="d_2022-02-01_2022-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>2022-02-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="i_2022-01-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
        </entity>
        <period>
            <instant>2022-01-31</instant>
        </period>
    </context>
    <context id="i_2022-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>2022-01-31</instant>
        </period>
    </context>
    <context id="i_2022-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>2022-01-31</instant>
        </period>
    </context>
    <context id="d_2021-11-01_2022-01-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-01-31</endDate>
        </period>
    </context>
    <context id="d_2021-11-01_2022-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>2021-11-01</startDate>
            <endDate>2022-01-31</endDate>
        </period>
    </context>
    <context id="d_2021-11-01_2022-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>2021-11-01</startDate>
            <endDate>2022-01-31</endDate>
        </period>
    </context>
    <context id="i_2021-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>2021-10-31</instant>
        </period>
    </context>
    <context id="i_2021-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>2021-10-31</instant>
        </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">
        <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="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_2023-06-07">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
        </entity>
        <period>
            <instant>2023-06-07</instant>
        </period>
    </context>
    <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>
    <unit id="NonApplicable">
        <measure>thunderdome:item</measure>
    </unit>
    <dei:EntityCentralIndexKey contextRef="d_2022-11-01_2023-04-30">0001000230</dei:EntityCentralIndexKey>
    <dei:AmendmentFlag contextRef="d_2022-11-01_2023-04-30">false</dei:AmendmentFlag>
    <dei:CurrentFiscalYearEndDate contextRef="d_2022-11-01_2023-04-30">--10-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalYearFocus contextRef="d_2022-11-01_2023-04-30">2023</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus contextRef="d_2022-11-01_2023-04-30">FY</dei:DocumentFiscalPeriodFocus>
    <occ:ConcentrationRiskNumberOfCustomers
      contextRef="d_2022-02-01_2022-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember"
      decimals="INF"
      id="c762"
      unitRef="Pure">1</occ:ConcentrationRiskNumberOfCustomers>
    <occ:ConcentrationRiskNumberOfCustomers
      contextRef="d_2023-02-01_2023-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember"
      decimals="INF"
      id="c755"
      unitRef="Pure">1</occ:ConcentrationRiskNumberOfCustomers>
    <occ:ConcentrationRiskNumberOfCustomers
      contextRef="d_2022-11-01_2023-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember"
      decimals="INF"
      id="c754"
      unitRef="Pure">1</occ:ConcentrationRiskNumberOfCustomers>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="d_2023-02-01_2023-04-30"
      decimals="-3"
      id="c595"
      unitRef="USD">0</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="i_2023-04-30_LeaseContractualTermAxis-OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember"
      id="c543">P3Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <occ:DebtInstrumentTermExtensions
      contextRef="d_2020-07-24_2020-07-24_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"
      id="c490">P1Y</occ:DebtInstrumentTermExtensions>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="i_2022-10-31"
      decimals="-3"
      id="c84"
      unitRef="Share">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="i_2023-04-30"
      decimals="-3"
      id="c83"
      unitRef="Share">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="i_2022-10-31"
      decimals="-3"
      id="c82"
      unitRef="Share">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesIssued
      contextRef="i_2023-04-30"
      decimals="-3"
      id="c81"
      unitRef="Share">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockNoParValue
      contextRef="i_2022-10-31"
      decimals="-3"
      id="c78"
      unitRef="USDPerShare">0</us-gaap:PreferredStockNoParValue>
    <us-gaap:PreferredStockNoParValue
      contextRef="i_2023-04-30"
      decimals="-3"
      id="c77"
      unitRef="USDPerShare">0</us-gaap:PreferredStockNoParValue>
    <dei:DocumentType contextRef="d_2022-11-01_2023-04-30" id="c2">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport contextRef="d_2022-11-01_2023-04-30" id="c3">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate contextRef="d_2022-11-01_2023-04-30" id="c4">2023-04-30</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport contextRef="d_2022-11-01_2023-04-30" id="c5">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber contextRef="d_2022-11-01_2023-04-30" id="c6">0-27022</dei:EntityFileNumber>
    <dei:EntityRegistrantName contextRef="d_2022-11-01_2023-04-30" id="c7">OPTICAL CABLE CORPORATION</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="d_2022-11-01_2023-04-30" id="c8">VA</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber contextRef="d_2022-11-01_2023-04-30" id="c9">54-1237042</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="d_2022-11-01_2023-04-30" id="c10">5290 Concourse Drive</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="d_2022-11-01_2023-04-30" id="c11">Roanoke</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="d_2022-11-01_2023-04-30" id="c12">VA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="d_2022-11-01_2023-04-30" id="c13">24019</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="d_2022-11-01_2023-04-30" id="c14">540</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="d_2022-11-01_2023-04-30" id="c15">265-0690</dei:LocalPhoneNumber>
    <dei:Security12bTitle contextRef="d_2022-11-01_2023-04-30" id="c16">Common Stock, no par value</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="d_2022-11-01_2023-04-30" id="c17">OCC</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="d_2022-11-01_2023-04-30" id="c18">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus contextRef="d_2022-11-01_2023-04-30" id="c19">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent contextRef="d_2022-11-01_2023-04-30" id="c20">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory contextRef="d_2022-11-01_2023-04-30" id="c21">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="d_2022-11-01_2023-04-30" id="c22">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany contextRef="d_2022-11-01_2023-04-30" id="c23">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany contextRef="d_2022-11-01_2023-04-30" id="c24">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="i_2023-06-07"
      decimals="INF"
      id="c25"
      unitRef="Share">7865121</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i_2023-04-30"
      decimals="0"
      id="c32"
      unitRef="USD">324994</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i_2022-10-31"
      decimals="0"
      id="c33"
      unitRef="USD">215936</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCash
      contextRef="i_2023-04-30"
      decimals="0"
      id="c34"
      unitRef="USD">1517885</us-gaap:RestrictedCash>
    <us-gaap:RestrictedCash
      contextRef="i_2022-10-31"
      decimals="-3"
      id="c35"
      unitRef="USD">0</us-gaap:RestrictedCash>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i_2023-04-30"
      decimals="0"
      id="c36"
      unitRef="USD">84602</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i_2022-10-31"
      decimals="0"
      id="c37"
      unitRef="USD">69643</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i_2023-04-30"
      decimals="0"
      id="c38"
      unitRef="USD">11306726</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i_2022-10-31"
      decimals="0"
      id="c39"
      unitRef="USD">10963753</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:OtherReceivables
      contextRef="i_2023-04-30"
      decimals="0"
      id="c40"
      unitRef="USD">73309</us-gaap:OtherReceivables>
    <us-gaap:OtherReceivables
      contextRef="i_2022-10-31"
      decimals="0"
      id="c41"
      unitRef="USD">37442</us-gaap:OtherReceivables>
    <us-gaap:InventoryNet
      contextRef="i_2023-04-30"
      decimals="0"
      id="c42"
      unitRef="USD">23099964</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="i_2022-10-31"
      decimals="0"
      id="c43"
      unitRef="USD">19438766</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i_2023-04-30"
      decimals="0"
      id="c44"
      unitRef="USD">459623</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i_2022-10-31"
      decimals="0"
      id="c45"
      unitRef="USD">540225</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i_2023-04-30"
      decimals="0"
      id="c46"
      unitRef="USD">36782501</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i_2022-10-31"
      decimals="0"
      id="c47"
      unitRef="USD">31196122</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i_2023-04-30"
      decimals="0"
      id="c48"
      unitRef="USD">7274715</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i_2022-10-31"
      decimals="0"
      id="c49"
      unitRef="USD">7390285</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i_2023-04-30"
      decimals="0"
      id="c50"
      unitRef="USD">593229</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i_2022-10-31"
      decimals="0"
      id="c51"
      unitRef="USD">618142</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i_2023-04-30"
      decimals="0"
      id="c52"
      unitRef="USD">1325441</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i_2022-10-31"
      decimals="0"
      id="c53"
      unitRef="USD">1353257</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="i_2023-04-30"
      decimals="0"
      id="c54"
      unitRef="USD">45975886</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i_2022-10-31"
      decimals="0"
      id="c55"
      unitRef="USD">40557806</us-gaap:Assets>
    <us-gaap:LoansPayableCurrent
      contextRef="i_2023-04-30"
      decimals="0"
      id="c58"
      unitRef="USD">344451</us-gaap:LoansPayableCurrent>
    <us-gaap:LoansPayableCurrent
      contextRef="i_2022-10-31"
      decimals="0"
      id="c59"
      unitRef="USD">338094</us-gaap:LoansPayableCurrent>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent
      contextRef="i_2023-04-30"
      decimals="0"
      id="c60"
      unitRef="USD">5255712</us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent
      contextRef="i_2022-10-31"
      decimals="0"
      id="c61"
      unitRef="USD">5354150</us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="i_2023-04-30"
      decimals="0"
      id="c62"
      unitRef="USD">1990719</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="i_2022-10-31"
      decimals="0"
      id="c63"
      unitRef="USD">1772551</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:TaxesPayableCurrent
      contextRef="i_2023-04-30"
      decimals="0"
      id="c64"
      unitRef="USD">73427</us-gaap:TaxesPayableCurrent>
    <us-gaap:TaxesPayableCurrent
      contextRef="i_2022-10-31"
      decimals="0"
      id="c65"
      unitRef="USD">18098</us-gaap:TaxesPayableCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i_2023-04-30"
      decimals="0"
      id="c66"
      unitRef="USD">7664309</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i_2022-10-31"
      decimals="0"
      id="c67"
      unitRef="USD">7482893</us-gaap:LiabilitiesCurrent>
    <us-gaap:LongTermLineOfCredit
      contextRef="i_2023-04-30"
      decimals="0"
      id="c68"
      unitRef="USD">8006810</us-gaap:LongTermLineOfCredit>
    <us-gaap:LongTermLineOfCredit
      contextRef="i_2022-10-31"
      decimals="0"
      id="c69"
      unitRef="USD">5999663</us-gaap:LongTermLineOfCredit>
    <us-gaap:LongTermLoansPayable
      contextRef="i_2023-04-30"
      decimals="0"
      id="c70"
      unitRef="USD">4016555</us-gaap:LongTermLoansPayable>
    <us-gaap:LongTermLoansPayable
      contextRef="i_2022-10-31"
      decimals="0"
      id="c71"
      unitRef="USD">4190508</us-gaap:LongTermLoansPayable>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i_2023-04-30"
      decimals="0"
      id="c72"
      unitRef="USD">721594</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i_2022-10-31"
      decimals="0"
      id="c73"
      unitRef="USD">725024</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="i_2023-04-30"
      decimals="0"
      id="c74"
      unitRef="USD">20409268</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="i_2022-10-31"
      decimals="0"
      id="c75"
      unitRef="USD">18398088</us-gaap:Liabilities>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i_2023-04-30"
      decimals="INF"
      id="c79"
      unitRef="Share">1000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i_2022-10-31"
      decimals="INF"
      id="c80"
      unitRef="Share">1000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockValue
      contextRef="i_2023-04-30"
      decimals="-3"
      id="c85"
      unitRef="USD">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="i_2022-10-31"
      decimals="-3"
      id="c86"
      unitRef="USD">0</us-gaap:PreferredStockValue>
    <us-gaap:CommonStockNoParValue
      contextRef="i_2022-10-31"
      decimals="-3"
      id="c87"
      unitRef="USDPerShare">0</us-gaap:CommonStockNoParValue>
    <us-gaap:CommonStockNoParValue
      contextRef="i_2023-04-30"
      decimals="-3"
      id="c88"
      unitRef="USDPerShare">0</us-gaap:CommonStockNoParValue>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i_2022-10-31"
      decimals="INF"
      id="c89"
      unitRef="Share">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i_2023-04-30"
      decimals="INF"
      id="c90"
      unitRef="Share">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="i_2023-04-30"
      decimals="INF"
      id="c91"
      unitRef="Share">7865121</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i_2023-04-30"
      decimals="INF"
      id="c92"
      unitRef="Share">7865121</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="i_2022-10-31"
      decimals="INF"
      id="c93"
      unitRef="Share">7893194</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i_2022-10-31"
      decimals="INF"
      id="c94"
      unitRef="Share">7893194</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="i_2023-04-30"
      decimals="0"
      id="c95"
      unitRef="USD">14812334</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="i_2022-10-31"
      decimals="0"
      id="c96"
      unitRef="USD">14638505</us-gaap:CommonStockValue>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i_2023-04-30"
      decimals="0"
      id="c97"
      unitRef="USD">10754284</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i_2022-10-31"
      decimals="0"
      id="c98"
      unitRef="USD">7521213</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2023-04-30"
      decimals="0"
      id="c99"
      unitRef="USD">25566618</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2022-10-31"
      decimals="0"
      id="c100"
      unitRef="USD">22159718</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:CommitmentsAndContingencies
      contextRef="i_2023-04-30"
      id="c102"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="i_2023-04-30"
      id="c103"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i_2023-04-30"
      decimals="0"
      id="c104"
      unitRef="USD">45975886</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i_2022-10-31"
      decimals="0"
      id="c105"
      unitRef="USD">40557806</us-gaap:LiabilitiesAndStockholdersEquity>
    <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_2022-02-01_2022-04-30"
      decimals="0"
      id="c109"
      unitRef="USD">17200578</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:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c111"
      unitRef="USD">31640873</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <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_2022-02-01_2022-04-30"
      decimals="0"
      id="c113"
      unitRef="USD">12167132</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:CostOfGoodsAndServicesSold
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c115"
      unitRef="USD">22561575</us-gaap:CostOfGoodsAndServicesSold>
    <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_2022-02-01_2022-04-30"
      decimals="0"
      id="c117"
      unitRef="USD">5033446</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:GrossProfit
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c119"
      unitRef="USD">9079298</us-gaap:GrossProfit>
    <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_2022-02-01_2022-04-30"
      decimals="0"
      id="c121"
      unitRef="USD">5036331</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c122"
      unitRef="USD">11117805</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c123"
      unitRef="USD">9816530</us-gaap:SellingGeneralAndAdministrativeExpense>
    <occ:RoyaltyRevenueExpense
      contextRef="d_2023-02-01_2023-04-30"
      decimals="0"
      id="c124"
      unitRef="USD">-6572</occ:RoyaltyRevenueExpense>
    <occ:RoyaltyRevenueExpense
      contextRef="d_2022-02-01_2022-04-30"
      decimals="0"
      id="c125"
      unitRef="USD">-6586</occ:RoyaltyRevenueExpense>
    <occ:RoyaltyRevenueExpense
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c126"
      unitRef="USD">-13158</occ:RoyaltyRevenueExpense>
    <occ:RoyaltyRevenueExpense
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c127"
      unitRef="USD">-13544</occ:RoyaltyRevenueExpense>
    <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_2022-02-01_2022-04-30"
      decimals="0"
      id="c129"
      unitRef="USD">11540</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:AmortizationOfIntangibleAssets
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c131"
      unitRef="USD">23635</us-gaap:AmortizationOfIntangibleAssets>
    <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_2022-02-01_2022-04-30"
      decimals="0"
      id="c133"
      unitRef="USD">-21011</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:OperatingIncomeLoss
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c135"
      unitRef="USD">-774411</us-gaap:OperatingIncomeLoss>
    <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_2022-02-01_2022-04-30"
      decimals="0"
      id="c138"
      unitRef="USD">182531</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:InterestExpense
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c140"
      unitRef="USD">340791</us-gaap:InterestExpense>
    <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_2022-02-01_2022-04-30"
      decimals="-3"
      id="c142"
      unitRef="USD">0</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:UnusualOrInfrequentItemInsuranceProceeds
      contextRef="d_2021-11-01_2022-04-30"
      decimals="-3"
      id="c144"
      unitRef="USD">0</us-gaap:UnusualOrInfrequentItemInsuranceProceeds>
    <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_2022-02-01_2022-04-30"
      decimals="0"
      id="c146"
      unitRef="USD">-29643</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:OtherNonoperatingIncomeExpense
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c148"
      unitRef="USD">-41028</us-gaap:OtherNonoperatingIncomeExpense>
    <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_2022-02-01_2022-04-30"
      decimals="0"
      id="c150"
      unitRef="USD">-212174</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:NonoperatingIncomeExpense
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c152"
      unitRef="USD">-381819</us-gaap:NonoperatingIncomeExpense>
    <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_2022-02-01_2022-04-30"
      decimals="0"
      id="c154"
      unitRef="USD">-233185</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:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c156"
      unitRef="USD">-1156230</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <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_2022-02-01_2022-04-30"
      decimals="0"
      id="c158"
      unitRef="USD">-5194</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:IncomeTaxExpenseBenefit
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c160"
      unitRef="USD">7554</us-gaap:IncomeTaxExpenseBenefit>
    <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_2022-02-01_2022-04-30"
      decimals="0"
      id="c162"
      unitRef="USD">-227991</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:NetIncomeLoss
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c164"
      unitRef="USD">-1163784</us-gaap:NetIncomeLoss>
    <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_2022-02-01_2022-04-30"
      decimals="INF"
      id="c166"
      unitRef="USDPerShare">-0.03</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:EarningsPerShareBasic
      contextRef="d_2021-11-01_2022-04-30"
      decimals="INF"
      id="c168"
      unitRef="USDPerShare">-0.16</us-gaap:EarningsPerShareBasic>
    <us-gaap:SharesOutstanding
      contextRef="i_2022-10-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c171"
      unitRef="Share">7893194</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-10-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="0"
      id="c172"
      unitRef="USD">14638505</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-10-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="0"
      id="c173"
      unitRef="USD">7521213</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-10-31"
      decimals="0"
      id="c174"
      unitRef="USD">22159718</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="d_2022-11-01_2023-01-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c175"
      unitRef="Share">24626</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="d_2022-11-01_2023-01-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="0"
      id="c176"
      unitRef="USD">34322</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="d_2022-11-01_2023-01-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c177"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="d_2022-11-01_2023-01-31"
      decimals="0"
      id="c178"
      unitRef="USD">34322</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-11-01_2023-01-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c180"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-11-01_2023-01-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="0"
      id="c181"
      unitRef="USD">809984</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-11-01_2023-01-31"
      decimals="0"
      id="c182"
      unitRef="USD">809984</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="i_2023-01-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c183"
      unitRef="Share">7868568</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2023-01-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="0"
      id="c184"
      unitRef="USD">14672827</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2023-01-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="0"
      id="c185"
      unitRef="USD">8331197</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2023-01-31"
      decimals="0"
      id="c186"
      unitRef="USD">23004024</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="d_2023-02-01_2023-04-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c187"
      unitRef="Share">3447</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="d_2023-02-01_2023-04-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="0"
      id="c188"
      unitRef="USD">139507</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="d_2023-02-01_2023-04-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c189"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="d_2023-02-01_2023-04-30"
      decimals="0"
      id="c190"
      unitRef="USD">139507</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:NetIncomeLoss
      contextRef="d_2023-02-01_2023-04-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c192"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2023-02-01_2023-04-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="0"
      id="c193"
      unitRef="USD">2423087</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2023-02-01_2023-04-30"
      decimals="0"
      id="c194"
      unitRef="USD">2423087</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="i_2023-04-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c195"
      unitRef="Share">7865121</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2023-04-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="0"
      id="c196"
      unitRef="USD">14812334</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2023-04-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="0"
      id="c197"
      unitRef="USD">10754284</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2023-04-30"
      decimals="0"
      id="c198"
      unitRef="USD">25566618</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i_2021-10-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c201"
      unitRef="Share">7897477</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2021-10-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="0"
      id="c202"
      unitRef="USD">14337649</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2021-10-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="0"
      id="c203"
      unitRef="USD">7868304</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2021-10-31"
      decimals="0"
      id="c204"
      unitRef="USD">22205953</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="d_2021-11-01_2022-01-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c205"
      unitRef="Share">47479</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="d_2021-11-01_2022-01-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="0"
      id="c206"
      unitRef="USD">19803</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="d_2021-11-01_2022-01-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c207"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="d_2021-11-01_2022-01-31"
      decimals="0"
      id="c208"
      unitRef="USD">19803</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:NetIncomeLoss
      contextRef="d_2021-11-01_2022-01-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c210"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2021-11-01_2022-01-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="0"
      id="c211"
      unitRef="USD">-935793</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2021-11-01_2022-01-31"
      decimals="0"
      id="c212"
      unitRef="USD">-935793</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="i_2022-01-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c213"
      unitRef="Share">7849998</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-01-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="0"
      id="c214"
      unitRef="USD">14357452</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-01-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="0"
      id="c215"
      unitRef="USD">6932511</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-01-31"
      decimals="0"
      id="c216"
      unitRef="USD">21289963</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="d_2022-02-01_2022-04-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c217"
      unitRef="Share">-44864</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="d_2022-02-01_2022-04-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="0"
      id="c218"
      unitRef="USD">113212</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="d_2022-02-01_2022-04-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="-3"
      id="c219"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="d_2022-02-01_2022-04-30"
      decimals="0"
      id="c220"
      unitRef="USD">113212</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-02-01_2022-04-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="-3"
      id="c222"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-02-01_2022-04-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="0"
      id="c223"
      unitRef="USD">-227991</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-02-01_2022-04-30"
      decimals="0"
      id="c224"
      unitRef="USD">-227991</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="i_2022-04-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c225"
      unitRef="Share">7894862</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-04-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="0"
      id="c226"
      unitRef="USD">14470664</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-04-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="0"
      id="c227"
      unitRef="USD">6704520</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2022-04-30"
      decimals="0"
      id="c228"
      unitRef="USD">21175184</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c232"
      unitRef="USD">3233071</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c233"
      unitRef="USD">-1163784</us-gaap:NetIncomeLoss>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c235"
      unitRef="USD">496661</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c236"
      unitRef="USD">569257</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c237"
      unitRef="USD">14959</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c238"
      unitRef="USD">18038</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ShareBasedCompensation
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c239"
      unitRef="USD">289680</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c240"
      unitRef="USD">237651</us-gaap:ShareBasedCompensation>
    <us-gaap:UnusualOrInfrequentItemInsuranceProceeds
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c241"
      unitRef="USD">1696290</us-gaap:UnusualOrInfrequentItemInsuranceProceeds>
    <us-gaap:UnusualOrInfrequentItemInsuranceProceeds
      contextRef="d_2021-11-01_2022-04-30"
      decimals="-3"
      id="c242"
      unitRef="USD">-0</us-gaap:UnusualOrInfrequentItemInsuranceProceeds>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c243"
      unitRef="USD">-10307</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c244"
      unitRef="USD">-31905</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c246"
      unitRef="USD">357932</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c247"
      unitRef="USD">2193887</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInOtherReceivables
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c248"
      unitRef="USD">35867</us-gaap:IncreaseDecreaseInOtherReceivables>
    <us-gaap:IncreaseDecreaseInOtherReceivables
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c249"
      unitRef="USD">-21647</us-gaap:IncreaseDecreaseInOtherReceivables>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c250"
      unitRef="USD">3661198</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c251"
      unitRef="USD">2342183</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c252"
      unitRef="USD">-80602</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c253"
      unitRef="USD">-100399</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c254"
      unitRef="USD">103560</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c255"
      unitRef="USD">-193872</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c257"
      unitRef="USD">-102154</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c258"
      unitRef="USD">1932023</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c259"
      unitRef="USD">218168</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c260"
      unitRef="USD">276170</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c261"
      unitRef="USD">55329</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c262"
      unitRef="USD">3790</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c263"
      unitRef="USD">65078</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c264"
      unitRef="USD">-712902</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c265"
      unitRef="USD">-1493146</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c266"
      unitRef="USD">-3028004</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c268"
      unitRef="USD">230252</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c269"
      unitRef="USD">100313</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:ProceedsFromInsuranceSettlementInvestingActivities
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c270"
      unitRef="USD">1696290</us-gaap:ProceedsFromInsuranceSettlementInvestingActivities>
    <us-gaap:ProceedsFromInsuranceSettlementInvestingActivities
      contextRef="d_2021-11-01_2022-04-30"
      decimals="-3"
      id="c271"
      unitRef="USD">0</us-gaap:ProceedsFromInsuranceSettlementInvestingActivities>
    <us-gaap:PaymentsToAcquireIntangibleAssets
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c272"
      unitRef="USD">1997</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:PaymentsToAcquireIntangibleAssets
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c273"
      unitRef="USD">11669</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c274"
      unitRef="USD">1464041</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c275"
      unitRef="USD">-111982</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c277"
      unitRef="USD">115851</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c278"
      unitRef="USD">104636</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:ProceedsFromNotesPayable
      contextRef="d_2022-11-01_2023-04-30_LineOfCreditFacilityAxis-PinnacleFinancialPartnersMember_LongtermDebtTypeAxis-VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember"
      decimals="0"
      id="c279"
      unitRef="USD">41292679</us-gaap:ProceedsFromNotesPayable>
    <us-gaap:ProceedsFromNotesPayable
      contextRef="d_2021-11-01_2022-04-30_LineOfCreditFacilityAxis-PinnacleFinancialPartnersMember_LongtermDebtTypeAxis-VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember"
      decimals="0"
      id="c280"
      unitRef="USD">33107669</us-gaap:ProceedsFromNotesPayable>
    <us-gaap:RepaymentsOfNotesPayable
      contextRef="d_2022-11-01_2023-04-30_LineOfCreditFacilityAxis-PinnacleFinancialPartnersMember_LongtermDebtTypeAxis-VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember"
      decimals="0"
      id="c281"
      unitRef="USD">39285532</us-gaap:RepaymentsOfNotesPayable>
    <us-gaap:RepaymentsOfNotesPayable
      contextRef="d_2021-11-01_2022-04-30_LineOfCreditFacilityAxis-PinnacleFinancialPartnersMember_LongtermDebtTypeAxis-VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember"
      decimals="0"
      id="c282"
      unitRef="USD">29528380</us-gaap:RepaymentsOfNotesPayable>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c283"
      unitRef="USD">167596</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c284"
      unitRef="USD">161049</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:PaymentsOfFinancingCosts
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c285"
      unitRef="USD">50000</us-gaap:PaymentsOfFinancingCosts>
    <us-gaap:PaymentsOfFinancingCosts
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c286"
      unitRef="USD">50000</us-gaap:PaymentsOfFinancingCosts>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c287"
      unitRef="USD">17652</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c288"
      unitRef="USD">16833</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c289"
      unitRef="USD">1656048</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c290"
      unitRef="USD">3246771</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c291"
      unitRef="USD">1626943</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c292"
      unitRef="USD">106785</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="i_2022-10-31"
      decimals="0"
      id="c293"
      unitRef="USD">215936</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="i_2021-10-31"
      decimals="0"
      id="c294"
      unitRef="USD">132249</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="i_2023-04-30"
      decimals="0"
      id="c295"
      unitRef="USD">1842879</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="i_2022-04-30"
      decimals="0"
      id="c296"
      unitRef="USD">239034</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock contextRef="d_2022-11-01_2023-04-30" id="c297">
&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="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; 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 accompanying unaudited condensed consolidated financial statements of Optical Cable Corporation and its subsidiaries (collectively, the &#x201c;Company&#x201d; or &#x201c;OCC&#xae;&#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, 2023 are not necessarily indicative of the results for the fiscal year ending October 31, 2023 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, 2022 (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, 2022.&lt;/p&gt;
</us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock contextRef="d_2022-11-01_2023-04-30" id="c308">
&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 Plans 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, 2023, there were approximately 384,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, 2023 was $154,639 and $289,680, 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, 2022 was $113,212 and $237,651, 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, 2023 consisted of restricted shares withheld for taxes in connection with the vesting of restricted shares totaling 28,073 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, 2023, 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.2 year weighted-average period is approximately $730,000.&lt;/p&gt;
</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="i_2023-04-30_PlanNameAxis-Plan2017Member"
      decimals="INF"
      id="c312"
      unitRef="Share">384000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2023-02-01_2023-04-30_PlanNameAxis-Plan2017Member_TitleOfIndividualAxis-EmployeesConsultantAndNonemployeeDirectorsMember"
      decimals="0"
      id="c317"
      unitRef="USD">154639</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2022-11-01_2023-04-30_PlanNameAxis-Plan2017Member_TitleOfIndividualAxis-EmployeesConsultantAndNonemployeeDirectorsMember"
      decimals="0"
      id="c318"
      unitRef="USD">289680</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2022-02-01_2022-04-30_PlanNameAxis-Plan2017Member_TitleOfIndividualAxis-EmployeesConsultantAndNonemployeeDirectorsMember"
      decimals="0"
      id="c323"
      unitRef="USD">113212</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2021-11-01_2022-04-30_PlanNameAxis-Plan2017Member_TitleOfIndividualAxis-EmployeesConsultantAndNonemployeeDirectorsMember"
      decimals="0"
      id="c324"
      unitRef="USD">237651</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="d_2022-11-01_2023-04-30_AwardTypeAxis-RestrictedStockMember"
      decimals="INF"
      id="c332"
      unitRef="Share">28073</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="d_2022-11-01_2023-04-30_AwardTypeAxis-RestrictedStockMember"
      id="c335">P1Y2M12D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="i_2023-04-30_AwardTypeAxis-RestrictedStockMember"
      decimals="0"
      id="c336"
      unitRef="USD">730000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <occ:AllowanceForDoubtfulAccountsForTradeAccountsReceivableDisclosureTextBlock contextRef="d_2022-11-01_2023-04-30" id="c337">
&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 Doubtful Accounts 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 doubtful accounts for trade accounts receivable for the six months ended April 30, 2023 and 2022 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: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;

		&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt;"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Six Months Ended&lt;/b&gt; &lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom;"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;April 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom;"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 68%;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;61,527&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Bad debt expense&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; 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;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"&gt;18,038&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;"&gt;84,602&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;"&gt;79,565&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;

&lt;/tbody&gt;&lt;/table&gt;

</occ:AllowanceForDoubtfulAccountsForTradeAccountsReceivableDisclosureTextBlock>
    <occ:SummaryOfChangesInAllowanceForDoubtfulAccountsForTradeAccountsReceivableTableTextBlock contextRef="d_2022-11-01_2023-04-30" id="c345">
&lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;

		&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt;"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Six Months Ended&lt;/b&gt; &lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom;"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;April 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom;"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 68%;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;61,527&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Bad debt expense&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; 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;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"&gt;18,038&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;"&gt;84,602&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;"&gt;79,565&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;

&lt;/tbody&gt;&lt;/table&gt;
</occ:SummaryOfChangesInAllowanceForDoubtfulAccountsForTradeAccountsReceivableTableTextBlock>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i_2022-10-31"
      decimals="0"
      id="c347"
      unitRef="USD">69643</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i_2021-10-31"
      decimals="0"
      id="c348"
      unitRef="USD">61527</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c349"
      unitRef="USD">14959</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c350"
      unitRef="USD">18038</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i_2023-04-30"
      decimals="0"
      id="c351"
      unitRef="USD">84602</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i_2022-04-30"
      decimals="0"
      id="c352"
      unitRef="USD">79565</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:InventoryDisclosureTextBlock contextRef="d_2022-11-01_2023-04-30" id="c353">
&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, 2023 and October 31, 2022 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%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;

		&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt;"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;April 30,&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt;"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;October 31,&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom;"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 68%;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;5,581,554&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;3,894,102&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;5,249,317&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;4,054,789&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;11,876,802&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;11,093,140&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;392,291&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;396,735&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
			&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;23,099,964&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
			&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;19,438,766&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&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_2022-11-01_2023-04-30" id="c369">
&lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;

		&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt;"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;April 30,&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt;"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;October 31,&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom;"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 68%;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;5,581,554&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;3,894,102&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;5,249,317&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;4,054,789&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;11,876,802&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;11,093,140&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;392,291&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;396,735&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
			&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;23,099,964&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
			&lt;td style="width: 13%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;19,438,766&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;

&lt;/tbody&gt;&lt;/table&gt;
</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="i_2023-04-30"
      decimals="0"
      id="c371"
      unitRef="USD">5581554</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="i_2022-10-31"
      decimals="0"
      id="c372"
      unitRef="USD">3894102</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="i_2023-04-30"
      decimals="0"
      id="c373"
      unitRef="USD">5249317</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="i_2022-10-31"
      decimals="0"
      id="c374"
      unitRef="USD">4054789</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="i_2023-04-30"
      decimals="0"
      id="c375"
      unitRef="USD">11876802</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="i_2022-10-31"
      decimals="0"
      id="c376"
      unitRef="USD">11093140</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventorySuppliesNetOfReserves
      contextRef="i_2023-04-30"
      decimals="0"
      id="c377"
      unitRef="USD">392291</us-gaap:InventorySuppliesNetOfReserves>
    <us-gaap:InventorySuppliesNetOfReserves
      contextRef="i_2022-10-31"
      decimals="0"
      id="c378"
      unitRef="USD">396735</us-gaap:InventorySuppliesNetOfReserves>
    <us-gaap:InventoryNet
      contextRef="i_2023-04-30"
      decimals="0"
      id="c379"
      unitRef="USD">23099964</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="i_2022-10-31"
      decimals="0"
      id="c380"
      unitRef="USD">19438766</us-gaap:InventoryNet>
    <us-gaap:ProductWarrantyDisclosureTextBlock contextRef="d_2022-11-01_2023-04-30" id="c381">
&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, 2023 and October 31, 2022, the Company&#x2019;s accrual for estimated product warranty claims totaled $65,000 and $75,000, respectively, and is included in accounts payable and accrued expenses. Warranty claims expense for the three months and six months ended April 30, 2023 totaled $13,078 and $29,652, respectively. Warranty claims expense for the three months and six months ended April 30, 2022 totaled $15,641 and $23,535, 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, 2023 and 2022:&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;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;

		&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt;"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Six Months Ended&lt;/b&gt; &lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom;"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;April 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom;"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 68%;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;80,092&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;(33,535&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; 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;; 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;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(56,557&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;"&gt;65,000&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;"&gt;65,000&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&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_2023-04-30_BalanceSheetLocationAxis-AccountsPayableAndAccruedLiabilitiesMember"
      decimals="0"
      id="c387"
      unitRef="USD">65000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual
      contextRef="i_2022-10-31_BalanceSheetLocationAxis-AccountsPayableAndAccruedLiabilitiesMember"
      decimals="0"
      id="c388"
      unitRef="USD">75000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyExpense
      contextRef="d_2023-02-01_2023-04-30"
      decimals="0"
      id="c393"
      unitRef="USD">13078</us-gaap:ProductWarrantyExpense>
    <us-gaap:ProductWarrantyExpense
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c394"
      unitRef="USD">29652</us-gaap:ProductWarrantyExpense>
    <us-gaap:ProductWarrantyExpense
      contextRef="d_2022-02-01_2022-04-30"
      decimals="0"
      id="c399"
      unitRef="USD">15641</us-gaap:ProductWarrantyExpense>
    <us-gaap:ProductWarrantyExpense
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c400"
      unitRef="USD">23535</us-gaap:ProductWarrantyExpense>
    <us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock contextRef="d_2022-11-01_2023-04-30" id="c417">
&lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;

		&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt;"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Six Months Ended&lt;/b&gt; &lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom;"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;April 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom;"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 68%;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;80,092&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;(33,535&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; 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;; 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;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(56,557&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;"&gt;65,000&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;"&gt;65,000&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;

&lt;/tbody&gt;&lt;/table&gt;
</us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock>
    <us-gaap:ProductWarrantyAccrual
      contextRef="i_2022-10-31"
      decimals="0"
      id="c419"
      unitRef="USD">75000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual
      contextRef="i_2021-10-31"
      decimals="0"
      id="c420"
      unitRef="USD">75000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrualWarrantiesIssued
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c421"
      unitRef="USD">59149</us-gaap:ProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:ProductWarrantyAccrualWarrantiesIssued
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c422"
      unitRef="USD">80092</us-gaap:ProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:ProductWarrantyAccrualPayments
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c423"
      unitRef="USD">39652</us-gaap:ProductWarrantyAccrualPayments>
    <us-gaap:ProductWarrantyAccrualPayments
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c424"
      unitRef="USD">33535</us-gaap:ProductWarrantyAccrualPayments>
    <us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c425"
      unitRef="USD">-29497</us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease>
    <us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c426"
      unitRef="USD">-56557</us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease>
    <us-gaap:ProductWarrantyAccrual
      contextRef="i_2023-04-30"
      decimals="0"
      id="c427"
      unitRef="USD">65000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual
      contextRef="i_2022-04-30"
      decimals="0"
      id="c428"
      unitRef="USD">65000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:LongTermDebtTextBlock contextRef="d_2022-11-01_2023-04-30" id="c429">
&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;), a supplemental real estate term loan, as amended and restated (the &#x201c;North Carolina Real Estate Loan&#x201d;) and a Revolving Credit Master Promissory Note and related agreements (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;Both the Virginia Real Estate Loan and the North Carolina Real Estate Loan are with Northeast Bank, have a fixed interest rate of 3.95% and are secured by a first lien deed of trust on the Company&#x2019;s real property. Also see note 12.&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;text-indent:27pt;"&gt;Long-term debt as of April 30, 2023 and October 31, 2022 consists 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%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;

		&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt;"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;April 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt;"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;October 31,&lt;/b&gt; &lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom;"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;"&gt;Virginia Real Estate Loan ($6.5 million original principal) payable in monthly installments of $31,812, including interest (at 3.95%), with final payment of $3,318,029 due May 1, 2024&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;3,550,720&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;3,669,294&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;"&gt;North Carolina Real Estate Loan ($2.24 million original principal) payable in monthly installments of $10,963, including interest (at 3.95%), with final payment of $711,773 due May 1, 2024&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;"&gt;810,286&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;"&gt;859,308&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt; text-indent: -9pt;"&gt;Total long-term debt&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;4,361,006&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;4,528,602&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Less current installments&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"&gt;344,451&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"&gt;338,094&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;"&gt;Long-term debt, excluding current installments&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;"&gt;4,016,555&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;"&gt;4,190,508&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&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;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 Prime Rate in effect from time to time, but not less than 4.75% (the &#x201c;Applicable Rate&#x201d;). In the event of a default, interest may become 6.0% above the Applicable Rate. As of April 30, 2023, the Revolver accrued interest at the prime lending rate plus 1.5% (resulting in a 9.5% rate at April 30, 2023). The termination date of the Revolver is July 24, 2025 and the loan may be extended in &lt;span style="-sec-ix-hidden:c490"&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, 2023, the Company had $8.0 million of outstanding borrowings on its Revolver and $5.0 million in available credit. As of October 31, 2022, the Company had $6.0 million of outstanding borrowings on its Revolver and $5.9 million in available credit.&lt;/p&gt;
</us-gaap:LongTermDebtTextBlock>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i_2023-04-30_LineOfCreditFacilityAxis-PinnacleFinancialPartnersMember_LongtermDebtTypeAxis-VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember"
      decimals="4"
      id="c431"
      unitRef="Pure">0.0395</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:ScheduleOfDebtTableTextBlock contextRef="d_2022-11-01_2023-04-30" id="c503">
&lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;

		&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt;"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;April 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt;"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;October 31,&lt;/b&gt; &lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom;"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;"&gt;Virginia Real Estate Loan ($6.5 million original principal) payable in monthly installments of $31,812, including interest (at 3.95%), with final payment of $3,318,029 due May 1, 2024&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;3,550,720&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;3,669,294&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;"&gt;North Carolina Real Estate Loan ($2.24 million original principal) payable in monthly installments of $10,963, including interest (at 3.95%), with final payment of $711,773 due May 1, 2024&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;"&gt;810,286&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;"&gt;859,308&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 27pt; text-indent: -9pt;"&gt;Total long-term debt&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;4,361,006&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 13%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;4,528,602&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Less current installments&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"&gt;344,451&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"&gt;338,094&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;"&gt;Long-term debt, excluding current installments&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;"&gt;4,016,555&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;"&gt;4,190,508&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;

&lt;/tbody&gt;&lt;/table&gt;
</us-gaap:ScheduleOfDebtTableTextBlock>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="i_2023-04-30_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember"
      decimals="-5"
      id="c505"
      unitRef="USD">6500000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="i_2022-10-31_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember"
      decimals="-5"
      id="c506"
      unitRef="USD">6500000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentPeriodicPayment
      contextRef="d_2022-11-01_2023-04-30_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember"
      decimals="0"
      id="c507"
      unitRef="USD">31812</us-gaap:DebtInstrumentPeriodicPayment>
    <us-gaap:DebtInstrumentPeriodicPayment
      contextRef="d_2021-11-01_2022-10-31_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember"
      decimals="0"
      id="c508"
      unitRef="USD">31812</us-gaap:DebtInstrumentPeriodicPayment>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i_2023-04-30_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember"
      decimals="4"
      id="c509"
      unitRef="Pure">0.0395</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i_2022-10-31_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember"
      decimals="4"
      id="c510"
      unitRef="Pure">0.0395</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentPeriodicPaymentTermsBalloonPaymentToBePaid
      contextRef="i_2023-04-30_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember"
      decimals="0"
      id="c511"
      unitRef="USD">3318029</us-gaap:DebtInstrumentPeriodicPaymentTermsBalloonPaymentToBePaid>
    <us-gaap:DebtInstrumentPeriodicPaymentTermsBalloonPaymentToBePaid
      contextRef="i_2022-10-31_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember"
      decimals="0"
      id="c512"
      unitRef="USD">3318029</us-gaap:DebtInstrumentPeriodicPaymentTermsBalloonPaymentToBePaid>
    <us-gaap:DebtInstrumentMaturityDate
      contextRef="d_2022-11-01_2023-04-30_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember"
      id="c513">2024-05-01</us-gaap:DebtInstrumentMaturityDate>
    <us-gaap:DebtInstrumentMaturityDate
      contextRef="d_2021-11-01_2022-10-31_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember"
      id="c514">2024-05-01</us-gaap:DebtInstrumentMaturityDate>
    <us-gaap:LongTermDebt
      contextRef="i_2023-04-30_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember"
      decimals="0"
      id="c515"
      unitRef="USD">3550720</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="i_2022-10-31_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember"
      decimals="0"
      id="c516"
      unitRef="USD">3669294</us-gaap:LongTermDebt>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="i_2023-04-30_LongtermDebtTypeAxis-NorthCarolinaRealEstateLoanMember"
      decimals="-4"
      id="c517"
      unitRef="USD">2240000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="i_2022-10-31_LongtermDebtTypeAxis-NorthCarolinaRealEstateLoanMember"
      decimals="-4"
      id="c518"
      unitRef="USD">2240000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentPeriodicPayment
      contextRef="d_2022-11-01_2023-04-30_LongtermDebtTypeAxis-NorthCarolinaRealEstateLoanMember"
      decimals="0"
      id="c519"
      unitRef="USD">10963</us-gaap:DebtInstrumentPeriodicPayment>
    <us-gaap:DebtInstrumentPeriodicPayment
      contextRef="d_2021-11-01_2022-10-31_LongtermDebtTypeAxis-NorthCarolinaRealEstateLoanMember"
      decimals="0"
      id="c520"
      unitRef="USD">10963</us-gaap:DebtInstrumentPeriodicPayment>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i_2023-04-30_LongtermDebtTypeAxis-NorthCarolinaRealEstateLoanMember"
      decimals="4"
      id="c521"
      unitRef="Pure">0.0395</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i_2022-10-31_LongtermDebtTypeAxis-NorthCarolinaRealEstateLoanMember"
      decimals="4"
      id="c522"
      unitRef="Pure">0.0395</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentPeriodicPaymentTermsBalloonPaymentToBePaid
      contextRef="i_2023-04-30_LongtermDebtTypeAxis-NorthCarolinaRealEstateLoanMember"
      decimals="0"
      id="c523"
      unitRef="USD">711773</us-gaap:DebtInstrumentPeriodicPaymentTermsBalloonPaymentToBePaid>
    <us-gaap:DebtInstrumentPeriodicPaymentTermsBalloonPaymentToBePaid
      contextRef="i_2022-10-31_LongtermDebtTypeAxis-NorthCarolinaRealEstateLoanMember"
      decimals="0"
      id="c524"
      unitRef="USD">711773</us-gaap:DebtInstrumentPeriodicPaymentTermsBalloonPaymentToBePaid>
    <us-gaap:DebtInstrumentMaturityDate
      contextRef="d_2022-11-01_2023-04-30_LongtermDebtTypeAxis-NorthCarolinaRealEstateLoanMember"
      id="c525">2024-05-01</us-gaap:DebtInstrumentMaturityDate>
    <us-gaap:DebtInstrumentMaturityDate
      contextRef="d_2021-11-01_2022-10-31_LongtermDebtTypeAxis-NorthCarolinaRealEstateLoanMember"
      id="c526">2024-05-01</us-gaap:DebtInstrumentMaturityDate>
    <us-gaap:LongTermDebt
      contextRef="i_2023-04-30_LongtermDebtTypeAxis-NorthCarolinaRealEstateLoanMember"
      decimals="0"
      id="c527"
      unitRef="USD">810286</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="i_2022-10-31_LongtermDebtTypeAxis-NorthCarolinaRealEstateLoanMember"
      decimals="0"
      id="c528"
      unitRef="USD">859308</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="i_2023-04-30"
      decimals="0"
      id="c529"
      unitRef="USD">4361006</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="i_2022-10-31"
      decimals="0"
      id="c530"
      unitRef="USD">4528602</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebtCurrent
      contextRef="i_2023-04-30"
      decimals="0"
      id="c531"
      unitRef="USD">344451</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="i_2022-10-31"
      decimals="0"
      id="c532"
      unitRef="USD">338094</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="i_2023-04-30"
      decimals="0"
      id="c533"
      unitRef="USD">4016555</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="i_2022-10-31"
      decimals="0"
      id="c534"
      unitRef="USD">4190508</us-gaap:LongTermDebtNoncurrent>
    <occ:LineOfCreditFacilityPercentOfEligibleAccounts
      contextRef="i_2023-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"
      decimals="2"
      id="c470"
      unitRef="Pure">0.85</occ:LineOfCreditFacilityPercentOfEligibleAccounts>
    <occ:LineOfCreditFacilityPercentOfEligibleInventory
      contextRef="i_2023-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"
      decimals="2"
      id="c471"
      unitRef="Pure">0.35</occ:LineOfCreditFacilityPercentOfEligibleInventory>
    <occ:LineOfCreditFacilityAdditionalCapacityForAdvances
      contextRef="i_2023-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"
      decimals="0"
      id="c472"
      unitRef="USD">5000000</occ:LineOfCreditFacilityAdditionalCapacityForAdvances>
    <occ:LineOfCreditFacilityRestrictedCapacityForAdvances
      contextRef="i_2023-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"
      decimals="0"
      id="c474"
      unitRef="USD">1150000</occ:LineOfCreditFacilityRestrictedCapacityForAdvances>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i_2023-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"
      decimals="0"
      id="c478"
      unitRef="USD">18000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="d_2022-11-01_2023-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember_VariableRateAxis-PrimeRateMember"
      decimals="3"
      id="c479"
      unitRef="Pure">0.015</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="i_2020-07-24_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"
      decimals="4"
      id="c480"
      unitRef="Pure">0.0475</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="i_2023-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember_RangeAxis-MaximumMember"
      decimals="2"
      id="c481"
      unitRef="Pure">0.060</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="d_2022-11-01_2023-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember_VariableRateAxis-PrimeRateMember"
      decimals="3"
      id="c484"
      unitRef="Pure">0.015</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="i_2023-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"
      decimals="3"
      id="c485"
      unitRef="Pure">0.095</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <us-gaap:LineOfCredit
      contextRef="i_2023-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-PinnacleFinancialPartnersMember"
      decimals="-6"
      id="c493"
      unitRef="USD">8000000.0</us-gaap:LineOfCredit>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity
      contextRef="i_2023-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-PinnacleFinancialPartnersMember"
      decimals="-6"
      id="c495"
      unitRef="USD">5000000.0</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <us-gaap:LineOfCredit
      contextRef="i_2022-10-31_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-PinnacleFinancialPartnersMember"
      decimals="-6"
      id="c499"
      unitRef="USD">6000000.0</us-gaap:LineOfCredit>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity
      contextRef="i_2022-10-31_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-PinnacleFinancialPartnersMember"
      decimals="-5"
      id="c501"
      unitRef="USD">5900000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <occ:LesseeOperatingAndFinanceLeasesDisclosureTextBlock contextRef="d_2022-11-01_2023-04-30" id="c535">
&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:c543"&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 $779,031 and $662,328 were included in other assets at April 30, 2023 and October 31, 2022, respectively. Operating lease liabilities of $395,891 and $439,520 were included in accounts payable and accrued expenses, and other noncurrent liabilities, respectively, at April 30, 2023. Operating lease liabilities of $355,183 and $374,570 were included in accounts payable and accrued expenses, and other noncurrent liabilities, respectively, at October 31, 2022. Operating lease expense recognized during the three months and six months ended April 30, 2023 totaled $109,144 and $212,477, respectively. Operating lease expense recognized during the three months and six months ended April 30, 2022 totaled $103,333 and $206,667, 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 26.2 months and the weighted average discount rate was 7.1% as of April 30, 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;For the three months ended April 30, 2023 and 2022, cash paid for operating lease liabilities totaled $109,151 and $107,835, respectively. For the three months ended April 30, 2023 and 2022, there were &lt;span style="-sec-ix-hidden:c595"&gt;no&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 $156,091 and $170,839 were included in other assets at April 30, 2023 and October 31, 2022, respectively. Finance lease liabilities of $36,581 and $112,404 were included in accounts payable and accrued expenses, and other noncurrent liabilities, respectively, at April 30, 2023. Finance lease liabilities of $35,724 and $130,911 were included in accounts payable and accrued expenses, and other noncurrent liabilities, respectively, at October 31, 2022. 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. Interest expense related to the finance lease totaled $2,251 and $4,601, respectively, for the three months and six months ended April 30, 2022. For the three months ended April 30, 2023 and 2022, amortization expense related to the finance lease totaled $7,374. For the six months ended April 30, 2023 and 2022, 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 40 months and the discount rate is 4.75% as of April 30, 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;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;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, 2022, cash paid for the finance lease liability totaled $2,251 for interest and $8,466 for principal. For the six months ended April 30, 2022, cash paid for the finance lease liability totaled $4,601 for interest and $16,833 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: 10%; margin-left: 10%; width: 80%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;

		&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 62%;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&lt;span style="text-decoration: underline; "&gt;&lt;b&gt;&lt;b&gt;Fiscal Year&lt;/b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;Operating&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;

			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;leases&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;Finance&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;

			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;lease&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;2023 &lt;b&gt;(1)&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 16%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;220,050&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 16%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;21,434&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;2024&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 16%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;448,298&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 16%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;42,868&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 16%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;177,997&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 16%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;42,868&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 16%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;"&gt;55,715&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 16%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;909,989&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 16%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;162,885&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 16%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(74,578&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 16%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(13,900&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
			&lt;td style="width: 16%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;"&gt;835,411&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
			&lt;td style="width: 16%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;"&gt;148,985&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&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;table cellpadding="0" cellspacing="0" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; width: 80%; margin-left: 10%; margin-right: 10%;"&gt;

		&lt;tbody&gt;&lt;tr style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;
			&lt;td colspan="1" style="vertical-align: bottom; width: 9%; 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)&lt;/b&gt; Remaining six months of fiscal year 2023.&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;

&lt;/tbody&gt;&lt;/table&gt;
</occ:LesseeOperatingAndFinanceLeasesDisclosureTextBlock>
    <us-gaap:AreaOfRealEstateProperty
      contextRef="i_2023-04-30_LeaseContractualTermAxis-OperatingLeaseForOfficeManufacturingAndWarehouseSpaceInPlanoTexasMember"
      decimals="INF"
      id="c537"
      unitRef="SquareFoot">34000</us-gaap:AreaOfRealEstateProperty>
    <us-gaap:AreaOfRealEstateProperty
      contextRef="i_2023-04-30_LeaseContractualTermAxis-OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember"
      decimals="INF"
      id="c540"
      unitRef="SquareFoot">36000</us-gaap:AreaOfRealEstateProperty>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="i_2023-04-30_LeaseContractualTermAxis-OperatingLeaseForOfficeEquipmentMember"
      id="c546">P60M</us-gaap:LesseeOperatingLeaseTermOfContract>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i_2023-04-30_BalanceSheetLocationAxis-OtherAssetsMember"
      decimals="0"
      id="c555"
      unitRef="USD">779031</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i_2022-10-31_BalanceSheetLocationAxis-OtherAssetsMember"
      decimals="0"
      id="c556"
      unitRef="USD">662328</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i_2023-04-30_BalanceSheetLocationAxis-AccountsPayableAndAccruedLiabilitiesMember"
      decimals="0"
      id="c561"
      unitRef="USD">395891</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i_2023-04-30_BalanceSheetLocationAxis-OtherNoncurrentLiabilitiesMember"
      decimals="0"
      id="c562"
      unitRef="USD">439520</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i_2022-10-31_BalanceSheetLocationAxis-AccountsPayableAndAccruedLiabilitiesMember"
      decimals="0"
      id="c565"
      unitRef="USD">355183</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i_2022-10-31_BalanceSheetLocationAxis-OtherNoncurrentLiabilitiesMember"
      decimals="0"
      id="c566"
      unitRef="USD">374570</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseExpense
      contextRef="d_2023-02-01_2023-04-30"
      decimals="0"
      id="c573"
      unitRef="USD">109144</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c574"
      unitRef="USD">212477</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="d_2022-02-01_2022-04-30"
      decimals="0"
      id="c579"
      unitRef="USD">103333</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c580"
      unitRef="USD">206667</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1 contextRef="i_2023-04-30" id="c581">P26M6D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="i_2023-04-30"
      decimals="3"
      id="c582"
      unitRef="Pure">0.071</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeasePayments
      contextRef="d_2023-02-01_2023-04-30"
      decimals="0"
      id="c589"
      unitRef="USD">109151</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="d_2022-02-01_2022-04-30"
      decimals="0"
      id="c590"
      unitRef="USD">107835</us-gaap:OperatingLeasePayments>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="d_2022-02-01_2022-04-30"
      decimals="-3"
      id="c596"
      unitRef="USD">0</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="i_2023-04-30_BalanceSheetLocationAxis-OtherAssetsMember"
      decimals="0"
      id="c597"
      unitRef="USD">156091</us-gaap:FinanceLeaseRightOfUseAsset>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="i_2022-10-31_BalanceSheetLocationAxis-OtherAssetsMember"
      decimals="0"
      id="c598"
      unitRef="USD">170839</us-gaap:FinanceLeaseRightOfUseAsset>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="i_2023-04-30_BalanceSheetLocationAxis-AccountsPayableAndAccruedLiabilitiesCurrentMember"
      decimals="0"
      id="c603"
      unitRef="USD">36581</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="i_2023-04-30_BalanceSheetLocationAxis-OtherNoncurrentLiabilitiesMember"
      decimals="0"
      id="c604"
      unitRef="USD">112404</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="i_2022-10-31_BalanceSheetLocationAxis-AccountsPayableAndAccruedLiabilitiesCurrentMember"
      decimals="0"
      id="c607"
      unitRef="USD">35724</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="i_2022-10-31_BalanceSheetLocationAxis-OtherNoncurrentLiabilitiesMember"
      decimals="0"
      id="c608"
      unitRef="USD">130911</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="d_2023-02-01_2023-04-30"
      decimals="0"
      id="c611"
      unitRef="USD">1840</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c612"
      unitRef="USD">3784</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="d_2022-02-01_2022-04-30"
      decimals="0"
      id="c617"
      unitRef="USD">2251</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c618"
      unitRef="USD">4601</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c627"
      unitRef="USD">7374</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="d_2022-02-01_2023-04-30"
      decimals="0"
      id="c628"
      unitRef="USD">7374</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c633"
      unitRef="USD">14749</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="d_2022-02-01_2022-04-30"
      decimals="0"
      id="c634"
      unitRef="USD">14749</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:LesseeFinanceLeaseRemainingLeaseTerm contextRef="i_2023-04-30" id="c635">P40M</us-gaap:LesseeFinanceLeaseRemainingLeaseTerm>
    <us-gaap:LesseeFinanceLeaseDiscountRate
      contextRef="i_2023-04-30"
      decimals="4"
      id="c636"
      unitRef="Pure">0.0475</us-gaap:LesseeFinanceLeaseDiscountRate>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="d_2023-02-01_2023-04-30"
      decimals="0"
      id="c642"
      unitRef="USD">1840</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="d_2023-02-01_2023-04-30"
      decimals="0"
      id="c643"
      unitRef="USD">8878</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c647"
      unitRef="USD">3784</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c648"
      unitRef="USD">17652</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="d_2022-02-01_2022-04-30"
      decimals="0"
      id="c652"
      unitRef="USD">2251</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="d_2022-02-01_2022-04-30"
      decimals="0"
      id="c653"
      unitRef="USD">8466</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c657"
      unitRef="USD">4601</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c658"
      unitRef="USD">16833</us-gaap:FinanceLeasePrincipalPayments>
    <occ:LesseeLeaseLiabilityMaturityTableTextBlock contextRef="d_2022-11-01_2023-04-30" id="c677">
&lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 10%; margin-left: 10%; width: 80%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;

		&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 62%;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&lt;span style="text-decoration: underline; "&gt;&lt;b&gt;&lt;b&gt;Fiscal Year&lt;/b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;Operating&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;

			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;leases&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;Finance&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;

			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;lease&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;2023 &lt;b&gt;(1)&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 16%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;220,050&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;
			&lt;td style="width: 16%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;21,434&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;2024&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 16%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;448,298&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 16%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;42,868&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 16%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;177,997&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 16%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;42,868&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 16%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 16%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); text-align: right;"&gt;55,715&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 16%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;909,989&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 16%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: right;"&gt;162,885&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 16%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(74,578&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 16%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; text-align: right; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(13,900&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
			&lt;td style="width: 16%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;"&gt;835,411&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;
			&lt;td style="width: 16%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0); text-align: right;"&gt;148,985&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;

&lt;/tbody&gt;&lt;/table&gt;
</occ:LesseeLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="i_2023-04-30"
      decimals="0"
      id="c679"
      unitRef="USD">220050</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="i_2023-04-30"
      decimals="0"
      id="c680"
      unitRef="USD">21434</us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="i_2023-04-30"
      decimals="0"
      id="c681"
      unitRef="USD">448298</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo
      contextRef="i_2023-04-30"
      decimals="0"
      id="c682"
      unitRef="USD">42868</us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="i_2023-04-30"
      decimals="0"
      id="c683"
      unitRef="USD">177997</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree
      contextRef="i_2023-04-30"
      decimals="0"
      id="c684"
      unitRef="USD">42868</us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="i_2023-04-30"
      decimals="0"
      id="c685"
      unitRef="USD">63644</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearFour
      contextRef="i_2023-04-30"
      decimals="0"
      id="c686"
      unitRef="USD">55715</us-gaap:FinanceLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="i_2023-04-30"
      decimals="0"
      id="c687"
      unitRef="USD">909989</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:FinanceLeaseLiabilityPaymentsDue
      contextRef="i_2023-04-30"
      decimals="0"
      id="c688"
      unitRef="USD">162885</us-gaap:FinanceLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="i_2023-04-30"
      decimals="0"
      id="c689"
      unitRef="USD">74578</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount
      contextRef="i_2023-04-30"
      decimals="0"
      id="c690"
      unitRef="USD">13900</us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="i_2023-04-30"
      decimals="0"
      id="c691"
      unitRef="USD">835411</us-gaap:OperatingLeaseLiability>
    <us-gaap:FinanceLeaseLiability
      contextRef="i_2023-04-30"
      decimals="0"
      id="c692"
      unitRef="USD">148985</us-gaap:FinanceLeaseLiability>
    <us-gaap:FairValueDisclosuresTextBlock contextRef="d_2022-11-01_2023-04-30" id="c693">
&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, 2023 and October 31, 2022 for cash, restricted cash, trade accounts receivable, other receivables, current installments of long-term debt, accounts payable and accrued expenses, and accrued compensation and payroll taxes approximate fair value because of the short maturity of these instruments. The carrying values of the Company&#x2019;s note payable, revolver &#x2013; noncurrent, and long-term debt, excluding current installments, approximate fair value based on long-term debt issues available to the Company as of April 30, 2023 and October 31, 2022. 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_2022-11-01_2023-04-30" id="c703">
&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: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;b&gt;&lt;a href="#" id="note9" title="note9"/&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: 'Times New Roman', 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%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;

		&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt;"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Three months ended&lt;/b&gt; &lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt;"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Six months ended&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom;"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;April 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;April 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom;"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 48%;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt;"&gt;(227,991&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt;"&gt;(1,163,784&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; 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;; 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;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;7,487,337&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; 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;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;7,464,862&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(0.03&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;)&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(0.16&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&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;Weighted average unvested shares for the three months and six months ended April 30, 2022 totaling 373,751 and 403,114, respectively, 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, 2022 (because to include such shares would have been antidilutive, or in other words, to do so would have reduced the net loss per share for that period).&lt;/p&gt;

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














</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock contextRef="d_2022-11-01_2023-04-30" id="c730">
&lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;

		&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt;"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Three months ended&lt;/b&gt; &lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt;"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Six months ended&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom;"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;April 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;April 30,&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom;"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 48%;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt;"&gt;(227,991&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt;"&gt;(1,163,784&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;)&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; 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;; 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;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;7,487,337&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; 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;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;7,464,862&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(0.03&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;)&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;(0.16&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;)&lt;/td&gt;
		&lt;/tr&gt;

&lt;/tbody&gt;&lt;/table&gt;
</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="d_2023-02-01_2023-04-30"
      decimals="0"
      id="c732"
      unitRef="USD">2423087</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-02-01_2022-04-30"
      decimals="0"
      id="c733"
      unitRef="USD">-227991</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c734"
      unitRef="USD">3233071</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c735"
      unitRef="USD">-1163784</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="d_2023-02-01_2023-04-30"
      decimals="INF"
      id="c736"
      unitRef="Share">7867755</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="d_2022-02-01_2022-04-30"
      decimals="INF"
      id="c737"
      unitRef="Share">7487337</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="d_2022-11-01_2023-04-30"
      decimals="INF"
      id="c738"
      unitRef="Share">7880685</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="d_2021-11-01_2022-04-30"
      decimals="INF"
      id="c739"
      unitRef="Share">7464862</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="d_2023-02-01_2023-04-30"
      decimals="INF"
      id="c740"
      unitRef="USDPerShare">0.31</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="d_2022-02-01_2022-04-30"
      decimals="INF"
      id="c741"
      unitRef="USDPerShare">-0.03</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="d_2022-11-01_2023-04-30"
      decimals="INF"
      id="c742"
      unitRef="USDPerShare">0.41</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="d_2021-11-01_2022-04-30"
      decimals="INF"
      id="c743"
      unitRef="USDPerShare">-0.16</us-gaap:EarningsPerShareBasic>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="d_2022-02-01_2022-04-30"
      decimals="INF"
      id="c721"
      unitRef="Share">373751</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="d_2021-11-01_2022-04-30"
      decimals="INF"
      id="c722"
      unitRef="Share">403114</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:ConcentrationRiskDisclosureTextBlock contextRef="d_2022-11-01_2023-04-30" id="c744">
&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, 2023 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, 2023, 17.7% and 16.3%, respectively, of consolidated net sales were attributable to &lt;span style="-sec-ix-hidden:c754"&gt;&lt;span style="-sec-ix-hidden:c755"&gt;one&lt;/span&gt;&lt;/span&gt; national distributor customer. For the three months and six months ended April 30, 2022, 17.0% and 17.1%, respectively, of consolidated net sales were attributable to &lt;span style="-sec-ix-hidden:c762"&gt;one&lt;/span&gt; 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 single reportable segment for purposes of segment reporting.&lt;/p&gt;
</us-gaap:ConcentrationRiskDisclosureTextBlock>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2023-02-01_2023-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-CustomerOneMember"
      decimals="3"
      id="c752"
      unitRef="Pure">0.177</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2022-11-01_2023-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-CustomerOneMember"
      decimals="3"
      id="c753"
      unitRef="Pure">0.163</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2022-02-01_2022-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-OneCustomerMember"
      decimals="2"
      id="c760"
      unitRef="Pure">0.170</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2021-11-01_2022-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-OneCustomerMember"
      decimals="3"
      id="c761"
      unitRef="Pure">0.171</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerTextBlock contextRef="d_2022-11-01_2023-04-30" id="c764">
&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 $59,660 as of April 30, 2023 and $317,310 as of October 31, 2022.&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 $208,034 as of April 30, 2023 and $233,494 as of October 31, 2022.&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, 2023 and 2022:&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%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;

		&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt;"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;Three months ended&lt;/b&gt;&lt;/b&gt; &lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt;"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Six months ended&lt;/b&gt; &lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom;"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;April 30,&lt;/b&gt;&lt;/b&gt; &lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;April 30,&lt;/b&gt; &lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom;"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;
			&lt;p style="font-family:Times New Roman;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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt;"&gt;14,792,289&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt;"&gt;26,936,668&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;
			&lt;p style="font-family:Times New Roman;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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;2,408,289&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;4,704,205&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 24.2%;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 36pt;"&gt;Total net sales&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;17,200,578&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;31,640,873&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&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_2023-04-30"
      decimals="0"
      id="c770"
      unitRef="USD">59660</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="i_2022-10-31"
      decimals="0"
      id="c773"
      unitRef="USD">317310</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerRefundLiability
      contextRef="i_2023-04-30"
      decimals="0"
      id="c776"
      unitRef="USD">208034</us-gaap:ContractWithCustomerRefundLiability>
    <us-gaap:ContractWithCustomerRefundLiability
      contextRef="i_2022-10-31"
      decimals="0"
      id="c779"
      unitRef="USD">233494</us-gaap:ContractWithCustomerRefundLiability>
    <us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock contextRef="d_2022-11-01_2023-04-30" id="c801">
&lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 27pt; width: 95%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-indent: 0px;"&gt;

		&lt;tbody&gt;&lt;tr style="vertical-align: bottom;"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt;"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;Three months ended&lt;/b&gt;&lt;/b&gt; &lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt;"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;Six months ended&lt;/b&gt; &lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom;"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;April 30,&lt;/b&gt;&lt;/b&gt; &lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;April 30,&lt;/b&gt; &lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom;"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;
			&lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt;"&gt;&lt;b&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;
			&lt;p style="font-family:Times New Roman;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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt;"&gt;14,792,289&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; 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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt;"&gt;26,936,668&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255);"&gt;
			&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; margin-left: 0pt;"&gt;
			&lt;p style="font-family:Times New Roman;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;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;2,408,289&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;4,704,205&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255);"&gt;
			&lt;td style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; width: 24.2%;"&gt;
			&lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 36pt;"&gt;Total net sales&lt;/p&gt;
			&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;17,200,578&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; 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;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt;"&gt;&#160;&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; 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;; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;31,640,873&lt;/td&gt;
			&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;
		&lt;/tr&gt;

&lt;/tbody&gt;&lt;/table&gt;
</us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2023-02-01_2023-04-30_StatementGeographicalAxis-US"
      decimals="0"
      id="c803"
      unitRef="USD">15829216</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2022-02-01_2022-04-30_StatementGeographicalAxis-US"
      decimals="0"
      id="c804"
      unitRef="USD">14792289</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2022-11-01_2023-04-30_StatementGeographicalAxis-US"
      decimals="0"
      id="c805"
      unitRef="USD">30407301</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2021-11-01_2022-04-30_StatementGeographicalAxis-US"
      decimals="0"
      id="c806"
      unitRef="USD">26936668</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2023-02-01_2023-04-30_StatementGeographicalAxis-NonUsMember"
      decimals="0"
      id="c807"
      unitRef="USD">3790320</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2022-02-01_2022-04-30_StatementGeographicalAxis-NonUsMember"
      decimals="0"
      id="c808"
      unitRef="USD">2408289</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2022-11-01_2023-04-30_StatementGeographicalAxis-NonUsMember"
      decimals="0"
      id="c809"
      unitRef="USD">7495910</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2021-11-01_2022-04-30_StatementGeographicalAxis-NonUsMember"
      decimals="0"
      id="c810"
      unitRef="USD">4704205</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2023-02-01_2023-04-30"
      decimals="0"
      id="c811"
      unitRef="USD">19619536</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2022-02-01_2022-04-30"
      decimals="0"
      id="c812"
      unitRef="USD">17200578</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c813"
      unitRef="USD">37903211</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2021-11-01_2022-04-30"
      decimals="0"
      id="c814"
      unitRef="USD">31640873</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:UnusualOrInfrequentItemsDisclosureTextBlock contextRef="d_2022-11-01_2023-04-30" id="c815">
&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;Restricted Cash and Gain on Insurance Proceeds&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;margin:0pt 0pt 0pt 27pt;"&gt;&lt;i&gt;Restricted Cash&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;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. The office building is separate from the Company&#x2019;s manufacturing building which houses its manufacturing operations and certain offices at the same location. The Company has insurance coverage for the office building, its contents and certain business expenses to cover damages and any 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 0pt 0pt 27pt;"&gt;As of April 30, 2023, the Company has restricted cash of $1,517,885, resulting from the receipt of a portion of the proceeds from the insurance claim for which offsetting expenses have not yet been incurred. The insurance proceeds recorded as restricted cash relate to the collateral for the Company&#x2019;s real estate term loans with Northeast Bank and, as a result, are held in escrow. Cash may be released from escrow as the Company submits details of expenses incurred for restoration and repair of the related property to Northeast Bank. Any cash remaining in escrow after any restoration and repairs are completed, will be available for the benefit of the Company or to pay down the real estate term loans once Northeast Bank is satisfied that the collateral has been returned to an acceptable state. Cash may also be released from escrow in the event the Company pays off the real estate term loans with Northeast Bank.&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;margin:0pt 0pt 0pt 27pt;"&gt;&lt;i&gt;Gain on Insurance Proceeds&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;During the second quarter of fiscal year 2023, the Company received insurance proceeds in connection with the office building and its contents at the Company&#x2019;s Asheville facilities sustaining water damage from a burst pipe at the end of December 2022. The office building damaged is separate from the Company&#x2019;s manufacturing building, which houses its manufacturing operations and certain offices at the same location. There was no significant impact to the Company&#x2019;s operations as a result of this event.&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;Insurance proceeds for all assets covered, net of applicable deductibles, received through April 30, 2023 totaled $2,056,008. During the first half of fiscal year 2023, the Company recorded a loss on property and equipment totaling $7,538 and incurred expenses for building stabilization and cleaning, removal of damaged items, and other miscellaneous and related activities totaling $359,718.&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;Insurance proceeds received in excess of expenses incurred through April 30, 2023, a net total of $1,696,290, is included in other income (expense), net as a gain on insurance proceeds received for damage to property and equipment on the Company&#x2019;s condensed consolidated statement of operations. To the extent the Company incurs expenses in future periods for renovation, repair or replacement or damaged assets, the Company may recognize offsetting losses in those future periods. The Company does not expect any future restoration and repair costs to exceed any insurance proceeds.&lt;/p&gt;
</us-gaap:UnusualOrInfrequentItemsDisclosureTextBlock>
    <us-gaap:RestrictedCash
      contextRef="i_2023-04-30"
      decimals="0"
      id="c820"
      unitRef="USD">1517885</us-gaap:RestrictedCash>
    <us-gaap:UnusualOrInfrequentItemNetOfInsuranceProceeds
      contextRef="d_2022-11-01_2023-04-30_UnusualOrInfrequentItemAxis-WaterDamageFromPipeBurstMember"
      decimals="0"
      id="c829"
      unitRef="USD">2056008</us-gaap:UnusualOrInfrequentItemNetOfInsuranceProceeds>
    <us-gaap:UnusualOrInfrequentItemGainGross
      contextRef="d_2022-11-01_2023-04-30_UnusualOrInfrequentItemAxis-WaterDamageFromPipeBurstMember"
      decimals="0"
      id="c832"
      unitRef="USD">7538</us-gaap:UnusualOrInfrequentItemGainGross>
    <us-gaap:UnusualOrInfrequentItemLossGross
      contextRef="d_2022-11-01_2023-04-30_UnusualOrInfrequentItemAxis-WaterDamageFromPipeBurstMember"
      decimals="0"
      id="c833"
      unitRef="USD">359718</us-gaap:UnusualOrInfrequentItemLossGross>
    <us-gaap:ProceedsFromInsuranceSettlementInvestingActivities
      contextRef="d_2022-11-01_2023-04-30"
      decimals="0"
      id="c836"
      unitRef="USD">1696290</us-gaap:ProceedsFromInsuranceSettlementInvestingActivities>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock contextRef="d_2022-11-01_2023-04-30" id="c837">
&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;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_2022-11-01_2023-04-30" id="c839">
&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;(14) &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: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 28pt; text-align: justify;"&gt;There are no 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 28pt;"&gt;&#160;&lt;/p&gt;






</us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock>
    <link:footnoteLink
      xlink:role="http://www.xbrl.org/2003/role/link"
      xlink:type="extended">
        <link:loc xlink:href="#c680" xlink:label="c680" xlink:type="locator"/>
        <link:loc xlink:href="#c679" xlink:label="c679" xlink:type="locator"/>
        <link:footnote id="f03523989-480e-405f-851c-ac104fc94852" xlink:label="f03523989-480e-405f-851c-ac104fc94852" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-us">Remaining six months of fiscal year 2023.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c680"
          xlink:to="f03523989-480e-405f-851c-ac104fc94852"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c679"
          xlink:to="f03523989-480e-405f-851c-ac104fc94852"
          xlink:type="arc"/>
    </link:footnoteLink>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>55
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
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
M\^Z%C)WXR@Z^LC'K\X6HUSX']UIAHV5+?C=G-$B2X'RV.X;NBE'"$Q8>Q$Y
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
M[J4I2$9B)T?#HSVK2C;+=K-0H[G:U&:[4]%=[38D[]IM..?Z/;F9D,#UJ=W
M;/?(#O3;W<\/HEG"@HM*N8"A\'4"E=QL-Q2W)T:MVQVS1V6,JMK#E12Y;"P
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
MUS'E8K0E>'.Y.)&V0R^T30 9;P+F^UR/7J1=+$21UWFC12FM>YKK)MN]1PW
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
M&]"FXF.%NR(Y/H#]PB(TW0L;&&Z?R[\!4$L#!!0    ( ,U;S%:9(2X<(@4
M $T-   8    >&PO=V]R:W-H965T<R]S:&5E=#@N>&ULW5=+D]I&$+[G5W1A
ME\NN8D$(EL7V+E4+MBL^.-[R.LDAE<,@-6CBT8P\,^*17Y_N&:$%FR7Q-1?0
M/+K[^_JEUO7&V"^N0/2P+95V-YW"^^I5O^^R DOA>J9"32=+8TOA:6E7?5=9
M%'D0*E4_39)QOQ12=Z;78>_.3J]-[974>&?!U64I[&Z&RFQN.H/.?N.37!6>
M-_K3ZTJL\![]K]6=I56_U9++$K631H/%Y4WG=O!J-N+[X<)O$C?NX!F8R<*8
M+[QXG]]T$@:$"C//&@3]K7&.2K$B@O&UT=EI3;+@X?->^[O G;@LA,.Y4;_+
MW!<WG4D'<ER*6OE/9O,S-GPN65]FE N_L(EWQ^,.9+7SIFR$"4$I=?P7V\8/
M!P*3Y!&!M!%( ^YH**!\([R87ENS <NW21L_!*I!FL!)S4&Y]Y9.)<GYZ2_&
M(Z1P ??>9%_@O<Y0LY_@3@GM0.@</OH"+=P7PN(%.R"'N2DI*9Q@OU[W/<%@
M9?VL,3F+)M-'3([A@]&^</!6YY@?R_<)?LLAW7.8I6<5WE:V!\.D"VF2#L_H
M&[8^&09]PS,^<> -O)-:Z$P*1=X1'BD7O3O%-ZH;G5;'9?7*52+#FP[5C4.[
MQL[TV9/!.'E]!NRH!3LZIWT:XS(+<;D3.\8(M]8*O0IXX8_/N/4P4Q3=/T]A
M/Z_]>?KBI_^4&3#[+C/@UH%9 D5'JC8\76 9A W_B*JR9BNIME#M8#@9=9,D
MH5+G9B+U"AQK)E-K(958* 1J0K B;AYJRAW+NN!CY65&(9J'&W-C*V.C_5/
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
M%*]PQ4TAE-EHA%\/^&)A)E3Q]/N8X).4QP5_R#YZ!V4_? + #*@E4!FXZ.H
M3);PO;!J@1K2N-E,H%#4H<:Z<+M&6"I!C<[E:N1U:.\ Y#DF]TD\J@6GEUO"
M2JG2P!GT@MXP#GJ]C.PT&.99$$>)]TAM#5Q"K56!QE!4DN5!&@\@"Z)>%@R&
MN7?'MM05%C55UD <!\-!/QA&B3.C/ WB+/+F6I6;=A:835T+EV::)T&2Q[3V
M@T':\QZ4I:=Q!DE*L#S(^TY*G =9.@P&_3X<JVYXT'T5ZE4S8PS]EXVT;2-V
MN]T8NVB[]U]X.P-OF5YQ:4#@DJ#1^:#G@V[G2NM853>]O%"6)D-CKFD4HW8!
M=+Y4]-!WCKN@&^[3OU!+ P04    " #-6\Q6&:2$XYP#  "A"   &0   'AL
M+W=O<FMS:&5E=',O<VAE970Q,2YX;6RM5DN/VS80OOM7#)0@R +*2I8L/S:V
M@?6F00LD[2*;-H>B!UH:6\12I$+2L=U?GR$E:[VNXUQZL8?DS#??O$A-MTH_
MFA+1PJX2TLR"TMKZ)HI,7F+%S+6J4=+)2NF*65KJ=61JC:SP1I6(DC@>1A7C
M,IA/_=Z]GD_5Q@HN\5Z#V505T_L%"K6=!?W@L/&)KTOK-J+YM&9K?$#[9WVO
M:15U* 6O4!JN)&A<S8+;_LUBX/2]PE\<M^9(!A?)4JE'M_BMF 6Q(X0"<^L0
M&/U]PSL4P@$1C:\M9M"Y=(;'\@']O8^=8EDR@W=*?.&%+6?!.( "5VPC[">U
M_17;>#*'ERMA_"]L&]T!><PWQJJJ-:9UQ67SSW9M'HX,QO$/#)+6(/&\&T>>
MY3MFV7RJU1:TTR8T)_A0O361X](5Y<%J.N5D9^>_*XN0P1NXUZK8Y!:^,*V9
MM!S--++DP*E%>0NV:,"2'X -X:.2MC3PBRRP>&X?$;&.77)@MT@N M[6^AK2
M.(0D3M(+>&D7;>KQT@O1&K *WG/)9,Z9@ ?++%*7V;/Q-G"#\W!N8&Y,S7*<
M!301!O4W#.:O7O2'\=L+9 <=V<$E]/E)1?;PCIM<*+/1"']_QIV%A5#YXS_G
M>%]$/L_[=7;5^V\3P*T!M0(J!!==)8#) O[(K5JBAK3O-Y,0;(EPIZJ:R?VK
M%^.D/WIK:.IRO:$TT_4!:"RG.<("ZM;/]A!:+ABO7&4L$W3^<IB%<1Q[/R]'
M7@[I"C U^B$6^] ?<0-<YF)#S4:"\Z4V5$BHV9XM!7H=3X#.<4?WF$%S_93/
MUFE[XBFZ$&RI$:%J.ME!&+X[+-$U]FDV.M;]-(Q'XX9U,@F'6?*<]?_N.SGR
MG87#0;_UG899FIWZ_EPZ/X*N82[78'V&FKN8_^NF@H[SDLDUNJS^M)@G)72M
M4FRT1R;+GZ7,T73\;WH/I'E\:_0ZS9[3=#]);\$$C2L5U,(2UUQ*YX?:LD;-
M%04,38]T0N\#9TLNN*=UZ #'^H@M-\;M'I%NT;))V!],8!R'\23IG5;,,<^5
M\5W&SYF_3GWEX8HD7P>XZMT]Y56TS/9M%O$-[C@-!H&<3^4!EAIJ,!DYV&P8
M9AE)QVFA+#]+R/"0D%8X=Q]%1\]&A7KM'T<#?HB:%Z3;[=[?V^;9>5)O'N^/
M3%-9# A<D6E\/<H"T,V#V"RLJOTCM%26GC0OEO0-@=HIT/E*T=7<+IR#[JMD
M_AU02P,$%     @ S5O,5LIH_Y?4!P  &!,  !D   !X;"]W;W)K<VAE971S
M+W-H965T,3(N>&ULI5A;;^,V%G[/KR#<M$@ C2W)ESA7($E;["PRW2 S[3XL
M]H&6:)L[DNB2E!/_^_W.H27+J9,!.@^))?'<+]\YTM6SL5_=4BDO7LJB<M>]
MI?>KB\' 94M52M<W*U7A9&YL*3UN[6+@5E;)G)G*8I#&\6102EWU;J[XV:.]
MN3*U+W2E'JUP=5E*N[E3A7F^[B6]YL&37BP]/1C<7*WD0GU6_O?5H\7=H)62
MZU)53IM*6#6_[MTF%W<CHF>"/[1Z=IUK09[,C/E*-Q_SZUY,!JE"99XD2/RL
MU;TJ"A($,_[<RNRU*HFQ>]U(_Y5]AR\SZ=2]*?ZM<[^\[DU[(E=S61?^R3S_
M0VW]&9.\S!2._XOG0#M*>R*KG3?EEAD6E+H*O_)E&X<.PS1^@R'=,J1L=U#$
M5OXLO;RYLN996**&-+I@5YD;QNF*DO+96YQJ\/F;WXQ78B(^B =3+3YX94OQ
MLYIY(:M<T)D3CW(C9X6Z&GBH(Z9!MA5]%T2G;XB>B$^F\DLG?JERE>_S#V!F
M:VO:V'J7OBOP=F7[8AA'(HW3X3ORAJWO0Y8W?,=W)[P1O^I*5IF6A?CLI5>H
M.>\.^1O$C0Z+H_:Y<"N9J>L>^L,INU:]FY]^2";QY3O&CEIC1^])O^'\?&GS
M\Y\OZL6+N\)D7_][R-3WA9U,3H^^E7#Q9:G$O2E7LMJ(I70BLRK77LQEI@OM
M-2@S@^9T7E<+8>9"HDD10N4HAH(E%T96D0"O1$Q1!*S%!HI<G'AH^.F':9K&
MEW]HN]"5EN*)9/P29#R G<^3RU.( 7*L5@6G!S3?H>PW8_U2W$MK$)BW5;(
M.EZ;8DU.WH<(?)(."L6C-:5VSM@-!VZKKF!M<F%5J"-Q@A9E#%JK8A.)CAE!
ML+*-OKZX,["+*-X,!VLABF_X(*15@!*0,*&"R>).5E\CI'(-6\5<O\!.7<$3
MA$A88D02A_WS\8_!<0AP*JOALYAMF,."L-"J NSA(:B]!4()@*O?U0IYDYQ=
MNI"@E<7\L'[3%[>%,Q"H1$7!2M)^!W)RKD!'(M'DNFB[G"WY5^;-# $?)OPP
M;>J.Z4GS'!$VS\C0Q5'+?M3A.B)1]"\]>CNP)\>3_A@06Q0T+8S5H&,'-*!A
M)8M3L=HVAJY$2<A6;' )"441,@UKCJ%MFJ01#K*BSJEHVA"?2!_"BUKFS,R#
M KDA]L =#9-I%*?G(J\5ZFPC@LLC<2R&T7@<1V=IS->3R7F4GH^.OE4&)\=I
M'^S?ZU821^>3X=]UZRQ)HK.SX5^<FD)L.IV(Z?@\&L;3HR^&&KO8+XM1-)PD
M$78,7(W3:32)TZ,'Y8 ^M;6D8<_8X6@4C<:)& X11\1GO\8BH5X:!PZR'T-)
MG$P0ZC%?)^=Q-(ZGC(5-NW;:2GQ"7!']E2;#'Q[NQ4D%6,\-*9C5#K +0U'8
MGQ^>Q%US'V D:F  9RWBH%W6.J>IU %?UF<J]*=%AM"6,E]C7H%*$QX [TP-
M1^H59MD%\G&*@/[8](9< (H6W-VUAZ<5.[]E 8TJ4!&4?IEE],SM(>5?3PEE
MQ5H6M6J,OA2KH@;;[)05HA.I+"#Z1)^^-D\,#UG&XO:,T=4:^0"T1I ",<=C
M5$#,?PP)>+@G')A"TI%=0J8DCELM^*OV7'_/I4M:L<B7#"J3*!FSRCZG'TN7
M+NNR8W;;0XT5KI[]#TA/EOANP6@4%O5UO!7WL>D=F&!KY'&+H+G4:+Z9+"B[
M GU%#P&?<+2"Y@:CDSY!],RLV3O,(6S)XHD.40]J/B<3YAA.PM,!&8/?"/48
MXE10#?HE?![USR"IF^];#%B=,1R0P-UD^A@L5.MM3\MF]8UV2%"BM6<J,U Z
MZ<==$U^)Q3 X@/71?M!";#HCJHD'NUNHD$V."=<?1^4$E# J !2,/*>'3 /N
M?76G(:V$#0 L?D7(MP%^G;Q_UDA+.F*^<3N!N6R"SR@\'W8.:*5._?)*0G>0
M C%>SRU A%/>733C$LM5)"R]4#A6U\2 .[X9J8V4%B:6"K=6$ *9YXHFM(5A
M84&+Z :G2LX]!_?/6MM (JUV3$&:GHF&C,9F29O,)=O;M KP$WPKPLH(4[@L
ME>6U&9WJ159(78)DH2IE\1!&RXI;#0^SI?1>T5B [5&WORNU,%YS;="F!*5@
M#A3.\PAI'(YXM(1%/00L0AU K/U@YA^VZVF(6L2[(JSBW72&EN<,XWFN5L9I
MWW$)0T]M.! L\U58,=26.EMV8L<%#N="DT.:0T-!>!3>U_(-QQH[BL=0)FD
M^!!&.$+X%'**F[S.R( F<4VXB'T7O(C;K=KLB@;P8SAANVG<2@81!EIM&4$R
M])_E\JJ"@]W2VTJYY$->^'!ZV(1=R>W:*P ,)#E)-A;8,.E'9WAA9W;#/N7:
M<;QY^7C+#S(-!YRO (56@2K8$)J?G^DJ:BUM/=Y27X83DL^*#R9SF\MMTW;@
M6H:]%MTUEVLRGK-&DYL[5\-UV,NB.M4D:O1\>,K+UFVS];\'<+M7JEP<3_OQ
M;C>;[\VIF;&6P8''@X8O.VB$I\?C#BMAW1K#(W01-T)CPNOE^8 1D^\QXOQ=
M(PZ]^ XZ7RL ( O^)D,ODVC'\.&B?=I^]KD-7SMVY.&;T2=)VSPFN)J#-<8X
MZP4 :&Z\6?&WCYGQWI1\B7<A)(T(<#XW>!G9WI""]F/8S?\!4$L#!!0    (
M ,U;S%::T&/^ @@  .(8   9    >&PO=V]R:W-H965T<R]S:&5E=#$S+GAM
M;,59;6_C-A+^GE]!N+EB S"VWB5ODP!)ML$5:+O![K;%X7 ?&)FV>2N)*DG%
M\?WZSI"28LM:[UZZ=P46:[V0P^>9>68X8BXV4GW4:\X->2J+2E].UL;4KV<S
MG:]YR?14UKR"-TNI2F;@5JUFNE:<+>RDLI@%GI?,2B:JR=6%?7:OKBYD8PI1
M\7M%=%.63&UO>"$WEQ-_TCUX)U9K@P]F5Q<U6_'WW/Q2WRNXF_56%J+DE1:R
M(HHO+R?7_NN;",?; ;\*OM$[UP29/$CY$6]^6%Q./ 3$"YX;M,#@YY'?\J)
M0P#C]];FI%\2)^Y>=];O+'?@\L TOY7%;V)AUI>3;$(6?,F:PKR3F[_SED^,
M]G)9:/L_V;BQ":R8-]K(LIT,]Z6HW"][:OVP,R'S/C$A:"<$%K=;R*)\PPR[
MNE!R0Q2.!FMX8:G:V0!.5!B4]T;!6P'SS-7/TG"2DG/R(P=N^F)FP"B^FN6M
M@1MG(/B$@83\)"NSUN3[:L$7^_-G *9'%'2(;H*C!J]K-26A1TG@!>$1>V'/
M,+3VPB,,-3&2W(F*5;E@!7EOF.&@+#/*UYF+QLUADKS6-<OYY02R0'/UR"=7
MWW[C)]YW1\!&/=CHF/6K'[G6G%/RMN:*&5&M"*L6+7+>QHB\$3HOI&X4)__\
MP)\,N2ED_O%?8UR.K_8J/3MI;7Y8<W(KRYI56[)F&I8ELL=0X!C"5HI;KQ&H
M!835M9)/ O*"%UL21M3S/,BIA@&J)583N81_2Y$#FY)5S1+RKU$=HPT,6\L&
MK%I?$E&1^X)5DA(@!,N_JCA3Y TK"J;/IA:= V&X*@E_J@7XGD!6_RP?>?G
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
MG@5\\E:K$N4V1\T))8CMZ $]V"5P^90^U _0E/"E"#8G!Y-Q%&; RX6=^FK
MGGQPJA"T3A <EL3#6^R9%*36F&L:@&4J[DCB!SPQSG$8S-,'U+H+B4EH:U8?
M KF:)S8/@Q>\!G=B&FFQT+7LF+:-!,=PQ]+"UB+&;IGP!9LZJS4$W')%L&F<
MW2K>$P1+R>TZYC:G EM/PD$2YRO.(\]O:)T*NU[*U\+7M9'N\'4)(HS?V]\Q
M"32[]^^FV?C3M0<CX]O'(,E;6[WFG,3[\35?FSXC72P_IH&VA6Y+<?-6X@8G
M@T(I/:?A-1XH[X4KKE'IF%4>LB/6_[\AAMTZZKPI+VN66[@4 ,'KVI*/&'CI
MMYH[C_H^8"5VREM?,S#K>W[7N+D:5/&"N\GX)7M"T ISI:4*2NK)6B4YO>M4
ML'LS<@H;(L,%<\\,U* +JE <BW1WB%SJE^$!F8+A6T.?'BWHFMPJ/D,>8@]V
MN_H@/;QT-]V"?U'OGLD'="LN$FA:LNEH^.EC JY[>KJ/8)NX[G,;^/&(QXI?
M:W*BP/=+RSW3?XB#P_N_^ ]02P,$%     @ S5O,5EJ5L(5J!   20H  !D
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
M +@[#3<IOA3L4140 $I)C'( :ZP#=_=;C0OM 72EGW7526,.HD+. #"4:S_
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
M8 YLL3AI!7L8ML2WJYK94!#ZKV,'^^+L2A'1<ZHVL312P&$6E-OU(25><)7
MY7#');B/'_Q N*Y*?':(,V5Z6"7/+",:#^1CMCE0:T*@#"72FI.4&^"6*[UG
M^XH,E2KLH.TRY:]6-"A-8;>F0SU:?<O]/J@^3S\P^5(ARU!U(SGH,',[$L@1
MIIIE"-$D'T)R:D($& ,-6B2UMP_VJ=,FVK#*#_- !MRF\K$,1O@S?4RX7R4=
MBBH#>J/JGUOIN",H8HDM!5'N2+J1F8[3N:%B;%00#\Y,=QR+H$;DZ#^1_:BR
M0]W_6NWEP[O1N.(G3\6_4?[L_Y)^#,,6C#-6>+4V"JLE>** *0\[_3F$.(RU
MUY$T)\@Q4FTZH,=>7#$[$N,FH?BQ3]@/> 8-)55N&HWX3''H8HMNXZ?/]M0(
ME;/MNCK8&P S2(W/3Y;9_/@DF\_/ID,FEHI;5TE=_BT6=J(<]R6F>2]%7%><
MEE13QU'BH!SBR6EV?'26R+<3NE[Z...>!R#8"G3[LM>D' -K8GNA97;#I[)R
M3Y=T).-U.)*!836@XQ(B#8$%G:8EN8PWE,3C/:ZCX^?9Z>)LM!.#:0/8G'?J
M4<4>KSA Q9[%6-W.>_+\)%L^QP(5S75;).\).MY84._[+L+3U//(GG4G)^-;
M9$+)9>SFD;5WO"/6C+*598AC%OS+6ZV*6#*_.Z S_CVC,12)]#CS'BIFK(H?
M5DF4;> C,LR5[0CNR*"3["SK-S=^VVB<Z%- U_<X3<)]#K*D,P\QCE]H>-KH
M3TI8;CT=!+]_DBLL^7@@8;0897[7K7]@!\ZM#_&8QGR@=#;[NB?3L1O(;'"+
MK,FMXUV9*]^:D"Z4_=O^.GZ5;J'[Y>DN_U:Z-:(*325,Y]/3XXEPZ7Z<'H)M
MXIUT90-NN/$G-J>"'"_ ]]+B,M8]<(#^/RDN_P)02P,$%     @ S5O,5H':
M?C/< @  %P8  !D   !X;"]W;W)K<VAE971S+W-H965T,3DN>&UL?57;;MI
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
MM2AM@#FOA/D;AXV]8!S>V1]02P,$%     @ S5O,5MRBGX6M @  D 4  !D
M  !X;"]W;W)K<VAE971S+W-H965T,C(N>&UL?51=;],P%'WOK[@*"(%DEN\T
M&6VD=3"QAT&U#?: >'"3V]::8P?;6;=_CYUT84A=7^)K^YYSSW5\/-M)=:^W
MB 8>&R[TW-L:TY[ZOJZVV%!](EL4=F<M54.-G:J-KUN%M.Y!#?>C(,C\AC+A
ME;-^;:G*F>P,9P*7"G37-%0]+9#+W=P+O>>%:[;9&K?@E[.6;O &S8]VJ>S,
M'UEJUJ#03 I0N)Y[9^'I(G'Y?<)/ACO](@;7R4K*>S>YK.=>X 0AQ\HX!FJ'
M!SQ'SAV1E?%GS^F-)1WP9?S,?M'W;GM948WGDM^QVFSG7NY!C6O:<7,M=U]Q
MWT_J^"K)=?^%W9";!AY4G3:RV8.M@H:)8:2/^W-X <A? T1[0-3K'@KU*C]3
M0\N9DCM0+MNRN:!OM4=;<4RXGW)CE-UE%F?*;](@)/ 1+L4#"B,50PWO;^F*
MH_XP\XTMX1+]:D^W&.BB5^@RN)+";#5\$376_^-]*VW4%SWK6T1'"<]:=0)Q
M0" *HO@(7SSV&_=\\9%^-0S]'6IO0">'T<XAI[JE%<X]:P&-Z@&]\MV;, L^
M'=&6C-J28^SEC75<W7$$N1Y_QQ.!\TXI&\.O7C7<XJ.!!9?5_>]##1PM<;@!
M>\:,NT.>?*^,7*&"."03=^#N$TTNF&#VAM6PD;+6\!92DN8A2=/$QC')BX2$
M032YL_8#)J!5LD*M;5:4%"0.IY"0($W(-"\FUW1G;Z]!Q2C7$(8DGV8D#R(7
M!D5,PB28+)6LN\&SNFM;[FYD7$0D*D([9F0:IY-;:2BWU:/8P@I29$Y*6) D
MSLDTR^#0W_!?N*1!M>G? @V5[(09##.NCL_-V>"R?^G#6W5%U88)#1S7%AJ<
M3%,/U.#_86)DVWMN)8UU<!]N[9.)RB78_;6T]W _<07&1[C\"U!+ P04
M" #-6\Q6?)!L+,@"   S!@  &0   'AL+W=O<FMS:&5E=',O<VAE970R,RYX
M;6Q]55%OFS 0?L^O.+%I:B5:"(2TZ1*DIMNT2>L4-=WZ,.W!@4NP:FQFFR;]
M]SM#0M,IS0N<[?N^^^[,'>.UTH^F0+2P*84T$Z^PMKH* I,56#)SKBJ4=+)4
MNF26EGH5F$HCRQM0*8(H#(=!R;CTTG&S-]/I6-56<(DS#:8N2Z:?IRC4>N+U
MO=W&'5\5UFT$Z;AB*YRC_5G--*V"CB7G)4K#E02-RXEWW;^:#IQ_X_"+X]KL
MV> R62CUZ!;?\HD7.D$H,+..@='K"6]0"$=$,OYN.;TNI /NVSOV+TWNE,N"
M&;Q1XH'GMIAXEQ[DN&2UL'=J_16W^22.+U/"-$]8M[X).6>UL:K<@DE!R67[
M9IMM'?8 E^$;@&@+B!K=;:!&Y2=F63K6:@W:>1.;,YI4&S2)X])=RMQJ.N6$
ML^D/91$2.(.95GF=67A@6C-I.1HXN6<+@>9T'%B*Y/R#;,LZ;5FC-UB'<*ND
M+0Q\ECGFK_$!*>QD1CN9T^@HX76ESR$.?8C"*#["%W=IQPU??"1M VU^A])K
MT8/#:-<H5Z9B&4X\Z@2#^@F]],.[_C#\>$3;H-,V.,:>SJGQ\EH@J.7_M_(,
MWSE;<,')^MVHAWO<6)@*E3W^.93(T5"'$YGSS:OKZU'QN7#5[[GJNT?4FS+!
M9(; +"QPQ:7D<N4$5ZBYRN$]7"1^&(:=T=L)=Q\6RS)=8PXT4V#]\KUQ8]QN
M7FM'9@O<L24COS\8P67HAZ.HU]4B$XR7Q"9SR)2Q!BK&#\%/XI$_3"(X)2OV
MDSB!T]Y-P>3*Q90@NI(Z/52',]QP8QW)GK@#M-'('XPN'&TR]).$K/VR(,G:
M+\AP5Y"M<>A+"?8:N42]:L:5H>QJ:=N>[G:[B7C=#H(7]W:<WC)-UV) X)*@
MX?E%XH%N1U2[L*IJQL)"61HRC5G05$?M'.A\J:A'M@L7H/M/I/\ 4$L#!!0
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
M-[%\9+L_(%]06^'Y+!;Z/]GE<RV#^!LA69(+HP5)E&:_=)\[XD@ <:H%G%S
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
MJNB:[+BYE^UWVM>3V'BEY-K]HK;S33,/E3MM9-V+@:!FHGN2U[X/(T$8?R+
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
M;1D2VNN0MY*;J^F4F+.2-_*;W,Q>3E(_WUNR!M5R!ZF+O=<?965;G83V\N2
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
M_2M3VJVMI,J)8'C*:[O*%H^]5<F]+OOFYL/6?ABCD46%AS*,['AK?_P.((.
MT0CL]H=$@N[3#:>G:8[@XCEG/XH-I1S]2I.LN)QM.-^>S^=%M*$I*3[G6YJ)
M/>N<I82+K^QQ7FP9):O**4WF6-/L>4KB;'9U46V[95<7^8XG<49O&2IV:4K8
MRPU-\N?+F3Y[W7 7/VYXN6%^=;$EC_2>\F_;6R:^S1N459S2K(CS##&ZOIQ=
MZ^<A7I0.E<5?,7TN#CZC\E >\OQ'^>6WU>5,*S.B"8UX"4'$?T]T29.D1!)Y
M_-R#SIJ8I>/AYU?TH#IX<3 /I*#+//D>K_CF<N;.T(JNR2[A=_GSO^C^@*P2
M+\J3HOH7/>]MM1F*=@7/T[VSR""-L_I_\FM_(@X<L'W$ >\=<-\!'W$P]@[&
MV CFWL$<&\':.UAC(]A[!WML!&?OX%1DU6>WHL8CG%Q=L/P9L=):H)4?*GXK
M;\%(G)6E>,^9V!L+/W[U>\XI<M G](4*0@OTP:.<Q$F!_J2_^(XD'R_F7(0I
MC>?1'O*FAL1'( WT-<_XID!^MJ(KB;^G]K=/^0=J?]U2 ,S%^6E.$GX]23=8
MB7B]99^1H9TAK&$#?;OWT(>_?T1K_H^_Z8[[3TF&R_%X^!5/=J* T_)AT@J
MTPK5>']$7.#IJK0ZK!I-Z1L5KGD,=TL9X7'V6-?^&?)_B09?4%G%UTAVA51V
M]Z<K75OHIGDQ?SJD769FB+^NF3<TPSHV':=KYDO,--NV>V:!\BC+2]EYL241
MO9R):U5!V1.=70DJ;$U*!1!8AQ"S(<2<1LCWZD)"5^CZ2>QYI.B.EE?7QD(T
M*9:B#]5JES8J=3QLH[1N%#9:D9="MI"5"!-/KO?N='S(=()WIQ,"I=.I%JNI
M%NN=U>+%193O,H[N"!?[;RF+:,9E=5)'<@]6FO99<[1%YZ^WUI793:V,-R3@
M0R80O"&!$"B!#OMVP[X]C?U;\B(F9"XKTQM;VKTMO<=H;69US!S7L'K=6YG8
MQ//N0X(%D& A$%B'7:=AUU&R6]T1?<K7G[Z))G]=%.*6[(\',9=F8G7'F;A0
M1QN2B14N;L50KQ+0EY@\Q$G,7V25X PHUGI%<-+"4Z8^E7](L  2+ 0"Z_#O
M-OR[2OZ#."-91%_7]F\9IR((5TUH[G"-NV:?7'= +L;]-N -D0S'[4UZ_A#)
MM+4>4J \R*E\ (%U^%@T?"RF\#%<GF?H.LT9C_]+2H%!QH\RP,1SL5P,.[7I
MF+WKD[<8$.D83I_(45#!&*@0Z! [#.E:>R.O*3GZ0@41@IP^5Q-'YA-13&T_
M%<IH4?M.G8G>D8D/FDGPCDQ"J$RZ57$@[^AOJ8K.:"PM UTV$)I.;QA:JL-/
MIGQ<5!\T:C R:@@5M4LE;JG$4YKP+8NS*-Z21#GZ[C$/.Y?K.FZ?18F5:=N]
M?BJQTAW;PGUR)&:VVQ=! O713KTZ0J%UN6FE)/V$EL0WE-67P@+]^RM-'RC[
MCY0/2+5F"8KF@:+YH&@!*%H(A=:MEE;GTB<*7<.!2EH[YF!6<9R%9O3O8]71
M)U?%N*@^:-1@CV:?B!I*[&P;&[CM<%V.6G5)5\M+(T9>LN;EHH^B7;I+2*4\
M'0S!9^C/G)-$2J0U'#HM6UL,B 35F$9&]4&C!B.CAC([1W.-Q1$B6Z%(5RM%
M@I]RTBG*RR1Y2"@BV:HDC>T$8:]B04Q/M&U(:64)BN:!HOF@: $H6@B%UJVD
M5I32U:K4H&TW4M,96NX8.R(NZT-)R5A8[G"U0\HWWLBH/FC48&344&9G6;IK
M'%GMK7"DJY6C>A#[/<^BFI#Q*QQ2K%F"HGF@:#XH6@"*%D*A=:NGE;ETM<ZE
M6N%M34G+9Z@CF:+R<5^!5"<PN3#&1?5!HP8CHX82.\,Q+4>3+W+<2EU8+;CT
M9K/1).UA.S.&CDVM_S.^.OQ4DD9&]4&C!B.CAC([0XQG^A&26N4)JY6GL7-7
M<^U4MF=UL*GM&13- T7S0=$"4+00"JU;4JT"AB<I8./&+SR4HPS;<OO3ESKT
MY)(8%=0'#1J,"QK*S"P'FT<6?*N!X4G/4]4_SJ[7<22H^DJRW9I$?,?*_64G
M^$X8W>0[87=?'F'YL^YM0K+\K'SRD*AG-74BDYL!J(@&BN:#H@6@:"$46K?<
M6A$-JT6T:T8)RM?HCI($^04GG*);EHLBY"_HP_W/G2@P%.0Y_XC^IWKZ\ 8/
M!2[#U+3^Y*9.9W*9C KJ@P8-Q@4-H8)VB6V5-SSIP:ZJCTBZQ5TNNL4/T5O^
MBMECG,5$W3(@1:TE*)H'BN:#H@6@:"$46K>R6BD0GY "P5K&\%$QPY:T#%"=
M;UQ0'S1H,"YH"!6T2VRKS&&U,O?Z*_?@_KUZVD$POLPSSL3\(253C6V@%TJ8
M]'D'M>=D?M^:AP^:1_#F/$*H/+I5T&I_^(3VU[MP!,T BOR?NWB;GKS)!-4
M0=$\4#0?%"T 10NAT+I5U&J 6*T!OJ^7J+%MU=-3:M_)]?+V3'S03()W9!)"
M95+7POS@/;F4LL?J%<@"53I5_=Y0L[5YS?*Z>KFPM_U&/U_JDNV>?N[7+U&V
M\/4[G5]).:06**%K$4K[[(@K*JM?DZR_\'Q;O:7WD'.>I]7'#24KRDH#L7\M
MQI+7+V6 YF75J_\#4$L#!!0    ( ,U;S%9RA9N_6 ,  /,+   9    >&PO
M=V]R:W-H965T<R]S:&5E=#,W+GAM;*666V_:,!3'OXH5[:&36A+GG@J06E"U
M2=N$VG5[F/9@@@&K2<QLIY1O/]L)(27D,NT%?#OG]S\GUO$9[RE[X5N,!7A+
MDXQ/C*T0NUO3Y/$6IXB/Z YG<F=-68J$G+*-R7<,HY4V2A/3MBS?3!')C.E8
MKRW8=$QSD9 ,+QC@>9HB=KC'"=U/#&@<%Q[)9BO4@CD=[] &/V'QO%LP.3,K
M+RN2XHP3F@&&UQ/C#M[.8* ,](D?!.]Y;0Q4*$M*7]3D\VIB6$H13G LE LD
M_U[Q#">)\B1U_"F=&A53&=;'1^\/.G@9S!)Q/*/)3[(2VXD1&F"%URA/Q"/=
M?\)E0)[R%].$ZU^P+\YZDACG7-"T-);SE&3%/WHK$U$SL.T6 [LTL,\,H--B
MX)0&C@ZT4*;#FB.!IF-&]X"IT]*;&NC<:&L9#<G49WP23.X2:2>FWZC (  W
MX N6R>!R\)"+G&&P0 ?YM00'\QR#JSD6B"3\X]@4$JI,S;@$W!< NP5PMV,C
MX%C7P+9L!SP_S<'5AS,WIM1<";<KX;;VZ[;X5>ZN@;S.# F2;4"B]%^25[CQ
MM1MUJ5^GMKSCGC4V7VO'9MVT7_!WAV:GTNP,T+PF&<IBW*ZX<.+5%4/7<<\$
M=Z.Z!;N58+=/L#LHR6Y#LNN&=A16FM_AO0KO#<#WYLMKPNW0;V'[%=OO8WN#
M0O<;=!@$411<Q@<5/AB [PT]^)?0PXH=]K']0:&'#;KO^*Y[F1Y5]&@ O3?R
MJ,'VO !ZE]G0.I5#JY/^G0J4@#Q;$1[3/!-X54@ N[(>#DI,":FKBZPH"J,6
M>;5J#?]77F_F2L2[&^O;8=B6NU-%AMU%<L$PEQK *TKDFW&4."QA=D/33>!Z
M0<M-AJ>*"[OK8)NF_BPUJ_ -="++:E%T*JFPNZ86G[#X:@E!2Y(0<1B6I&:5
M#1W/A;!%TJG,PNXZVR*I/T=>XVV%;ABUWB15>]^OG,HA[*Z'\CU[Q*HM51GB
MY VD-!-;#NA:RN2QE'_ B.DF8W3IX3-K+5**V49WCASHVU \X-5JT9W>J^Y4
MM5AGZW?0EQO^Q9W@V-":)T31#G]%;$,R+E.YECAK%,C,L:+#+":"[G23MJ1"
MMGQZN)5=.6;J@-Q?4]FHE1,%J/K\Z5]02P,$%     @ S5O,5B7+)=,_ @
M& 4  !D   !X;"]W;W)K<VAE971S+W-H965T,S@N>&ULG53;;MLP#/T5PD\K
MT%6.G31;X1A(T@XKL!9!L\NS8M.Q4%T\24ZROY\D.VZ&I<6P%UND> YY)%+9
M7NEG4R-:. @NS2RJK6UN"#%%C8*:*]6@=#N5TH):9^HM,8U&6@:0X"2)XVLB
M*)-1G@7?2N>9:BUG$E<:3"L$U;\6R-5^%HVBH^.);6OK'23/&KK%-=IOS4H[
MBPPL)1,H#5,2-%:S:#ZZ6:8^/@1\9[@W)VOP2C9*/7OCOIQ%L2\(.1;6,U#W
MV^$2.?=$KHR?/6<TI/3 T_61_5/0[K1LJ,&EXC]8:>M9]"&"$BO:<OND]I^Q
MUS/Q?(7B)GQAW\?&$12ML4KT8%>!8++[TT-_#B< QW,>D/2 Y%\!:0\()T>Z
MRH*L6VIIGFFU!^VC'9M?A+,):*>&27^+:ZO=+G,XFS\JB_ 1WL.CZYA[62B!
M\.Z+,N8"5JAA75/M'+=H*>,&ON+!MI1?N'CC=TQ&K"O"4Y&B3[CH$B:O)$SA
M04E;&[B3)99G\,NW\==OX(D3/YQ <CR!1?(FX;S15Y#&EY#$27*NGO^&_U%.
M.EQ(&OC&K_%)RTK&6]_=L,:BU<PR='(/!6^=8JBT$K!4HFDM#9.@*KBC6C*Y
M-2]W=@ESH5IISUU05\ D%."G?)>GTW0Z&65D=ZK[[[!QG(Y&XR&LTT=.FD^@
MWH:9-%#X[%T?#MYA[.>AV\E+>/=F/%"]9=( Q\I!XZNI2ZZ[.>P,JYK0RAME
MW6"$9>V>+M0^P.U7RK5S;_@$PV.8_P902P,$%     @ S5O,5HQD<=I@ P
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
MV_[3=T:4AS>"A[>9G_X'4$L#!!0    ( ,U;S%;N2=W_G@$   @:   :
M>&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'/-V;MNPD 0A>%707X EIE9;A%0
MI:&-> $+EHL V_)N%'C[6%# 02G2H#V5M6MY_!?6)\N>?853F0YU%?>')O8N
MYU,5Y\4^I>;#N;C>AW,9^W43JN[,MF[/9>J6[<XUY?I8[H+3P6#DVN<9Q6+V
M/+.WNC;A/Q/K[?:P#I_U^OL<JO3'8/=3M\>X#R$5O579[D*:%^YR>FQ'=SM(
MOYM<]):;>=$N-U*XW$$*09H_R"#(\@=Y"/+Y@X80-,P?-(*@4?Z@,02-\P=-
M(&B2/V@*0=/\03) &0<$22]8$V@MR+40>"T(MA"(+4BV$)@MB+80J"W(MA"X
M+0BW$,@M2+<0V"V(MQ#HK:BW$NBMJ+<2Z*TO+]L$>BOJK01Z*^JM!'HKZJT$
M>BOJK01Z*^JM!'HKZJT$>BOJK01Z&^IM!'H;ZFT$>AOJ;01ZV\O'$@*]#?4V
M KT-]38"O0WU-@*]#?4V KT-]38"O0WU-@*]/>KM"?3VJ+<GT-NCWIY ;X]Z
M^W?J'=/U%.*CY[[&^[^3ZM1=&QZWORWOFR^/R@UG!S]^%K]02P,$%     @
MS5O,5JC*A]FK 0  01H  !,   !;0V]N=&5N=%]4>7!E<UTN>&ULS9G-;L(P
M$(1?!>6*B+&=TA\!E[;7ED-?P$TV)"*)+=M0>/LZX4=J1:,B*G4NL1+OSHR]
MTG?)]&UGR VV==6X651X;QX8<VE!M7*Q-M2$G5S;6OGP:I?,J'2EEL3$>#QA
MJ6X\-7[D6XUH/GVB7*TK/WC>AL^NU,TLLE2Y:/"X+VR]9I$RIBI3Y<,^VS39
M-Y?1P2$.G5V-*TKCAJ$@8F<=VIV?#0Y]KQNRMLQHL%#6OZ@Z5+%MQ9S?5>3B
M?HDS&76>EREE.EW7H25VQI+*7$'DZRK>BP[[G7VX8=H_^=7^G4R?8:A<6&U<
MF)BER^V.(VF[1R8(D?5E_Q%/CD'ZZO-1.^V,LE]ZA^O]T';5S<.Q;KG^CK_.
M^*1_80X!DD."Y$A <MR Y)B Y+@%R7$'DN,>) <?HP1!(2I'02I'82I'@2I'
MH2I'P2I'X2I' 2M'(:M (:M (:M (:M (:M (:M (:M (:M (:M (:M (:M$
M(:M$(:M$(:M$(:M$(:M$(:M$(:M$(:M$(:M$(6N"0M8$A:P)"EF3_R3KN]:K
MO_ZIT:YQK<KFZ,^Z/T?S3U!+ 0(4 Q0    ( ,U;S%8'04UB@0   +$    0
M              "  0    !D;V-0<F]P<R]A<' N>&UL4$L! A0#%     @
MS5O,5ND+MSWN    *P(  !$              ( !KP   &1O8U!R;W!S+V-O
M<F4N>&UL4$L! A0#%     @ S5O,5IE<G",0!@  G"<  !,
M ( !S $  'AL+W1H96UE+W1H96UE,2YX;6Q02P$"% ,4    " #-6\Q62G1(
M%=8%  #O'@  &               @($-"   >&PO=V]R:W-H965T<R]S:&5E
M=#$N>&UL4$L! A0#%     @ S5O,5FF $W9D!@  ;QD  !@
M ("!&0X  'AL+W=O<FMS:&5E=',O<VAE970R+GAM;%!+ 0(4 Q0    ( ,U;
MS%9R>WD6%0,  %(*   8              " @;,4  !X;"]W;W)K<VAE971S
M+W-H965T,RYX;6Q02P$"% ,4    " #-6\Q6=V,D9;L%  #B%0  &
M        @('^%P  >&PO=V]R:W-H965T<R]S:&5E=#0N>&UL4$L! A0#%
M  @ S5O,5M?AC^J,!@  PRD  !@              ("![QT  'AL+W=O<FMS
M:&5E=',O<VAE970U+GAM;%!+ 0(4 Q0    ( ,U;S%;?ZL8EV <  !,B   8
M              " @;$D  !X;"]W;W)K<VAE971S+W-H965T-BYX;6Q02P$"
M% ,4    " #-6\Q6L)2<'1T&  ")#@  &               @(&_+   >&PO
M=V]R:W-H965T<R]S:&5E=#<N>&UL4$L! A0#%     @ S5O,5IDA+APB!0
M30T  !@              ("!$C,  'AL+W=O<FMS:&5E=',O<VAE970X+GAM
M;%!+ 0(4 Q0    ( ,U;S%8)YN?GRP(  )$&   8              " @6HX
M  !X;"]W;W)K<VAE971S+W-H965T.2YX;6Q02P$"% ,4    " #-6\Q6M<@-
M(=("  #H!0  &0              @(%K.P  >&PO=V]R:W-H965T<R]S:&5E
M=#$P+GAM;%!+ 0(4 Q0    ( ,U;S%89I(3CG ,  *$(   9
M  " @70^  !X;"]W;W)K<VAE971S+W-H965T,3$N>&UL4$L! A0#%     @
MS5O,5LIH_Y?4!P  &!,  !D              ("!1T(  'AL+W=O<FMS:&5E
M=',O<VAE970Q,BYX;6Q02P$"% ,4    " #-6\Q6FM!C_@((  #B&   &0
M            @(%22@  >&PO=V]R:W-H965T<R]S:&5E=#$S+GAM;%!+ 0(4
M Q0    ( ,U;S%9D)*:5G@,   L(   9              " @8M2  !X;"]W
M;W)K<VAE971S+W-H965T,30N>&UL4$L! A0#%     @ S5O,5EJ5L(5J!
M20H  !D              ("!8%8  'AL+W=O<FMS:&5E=',O<VAE970Q-2YX
M;6Q02P$"% ,4    " #-6\Q6@M1>!^H#  "<"   &0              @($!
M6P  >&PO=V]R:W-H965T<R]S:&5E=#$V+GAM;%!+ 0(4 Q0    ( ,U;S%:"
M[@A^T@<  -@2   9              " @2)?  !X;"]W;W)K<VAE971S+W-H
M965T,3<N>&UL4$L! A0#%     @ S5O,5FA?@O-K!@  L!   !D
M     ("!*V<  'AL+W=O<FMS:&5E=',O<VAE970Q."YX;6Q02P$"% ,4
M" #-6\Q6@=I^,]P"   7!@  &0              @('-;0  >&PO=V]R:W-H
M965T<R]S:&5E=#$Y+GAM;%!+ 0(4 Q0    ( ,U;S%:[&(UZL (   ,&   9
M              " @>!P  !X;"]W;W)K<VAE971S+W-H965T,C N>&UL4$L!
M A0#%     @ S5O,5GBSLW*- @  R 4  !D              ("!QW,  'AL
M+W=O<FMS:&5E=',O<VAE970R,2YX;6Q02P$"% ,4    " #-6\Q6W**?A:T"
M  "0!0  &0              @(&+=@  >&PO=V]R:W-H965T<R]S:&5E=#(R
M+GAM;%!+ 0(4 Q0    ( ,U;S%9\D&PLR (  #,&   9              "
M@6]Y  !X;"]W;W)K<VAE971S+W-H965T,C,N>&UL4$L! A0#%     @ S5O,
M5A=,X/ T P  &P<  !D              ("!;GP  'AL+W=O<FMS:&5E=',O
M<VAE970R-"YX;6Q02P$"% ,4    " #-6\Q6A,3#PKP"  #$!0  &0
M        @('9?P  >&PO=V]R:W-H965T<R]S:&5E=#(U+GAM;%!+ 0(4 Q0
M   ( ,U;S%9U=/JMR@(  /4%   9              " @<R"  !X;"]W;W)K
M<VAE971S+W-H965T,C8N>&UL4$L! A0#%     @ S5O,5KL[WH#* @  [P4
M !D              ("!S84  'AL+W=O<FMS:&5E=',O<VAE970R-RYX;6Q0
M2P$"% ,4    " #-6\Q64;8NJ!X$  #:$0  &0              @('.B
M>&PO=V]R:W-H965T<R]S:&5E=#(X+GAM;%!+ 0(4 Q0    ( ,U;S%8DL9&
MBP(  '@&   9              " @2.-  !X;"]W;W)K<VAE971S+W-H965T
M,CDN>&UL4$L! A0#%     @ S5O,5ED=S>>& @  E 8  !D
M ("!Y8\  'AL+W=O<FMS:&5E=',O<VAE970S,"YX;6Q02P$"% ,4    " #-
M6\Q6[O,&("T#   .#0  &0              @(&BD@  >&PO=V]R:W-H965T
M<R]S:&5E=#,Q+GAM;%!+ 0(4 Q0    ( ,U;S%;*HX2FTP(  -X'   9
M          " @0:6  !X;"]W;W)K<VAE971S+W-H965T,S(N>&UL4$L! A0#
M%     @ S5O,5C=DG4/V!   /QH  !D              ("!$)D  'AL+W=O
M<FMS:&5E=',O<VAE970S,RYX;6Q02P$"% ,4    " #-6\Q6'T![VMT"  #=
M"   &0              @($]G@  >&PO=V]R:W-H965T<R]S:&5E=#,T+GAM
M;%!+ 0(4 Q0    ( ,U;S%843U[KHP,  " .   9              " @5&A
M  !X;"]W;W)K<VAE971S+W-H965T,S4N>&UL4$L! A0#%     @ S5O,5N\6
M!5?/!P  N#H  !D              ("!*Z4  'AL+W=O<FMS:&5E=',O<VAE
M970S-BYX;6Q02P$"% ,4    " #-6\Q6<H6;OU@#  #S"P  &0
M    @($QK0  >&PO=V]R:W-H965T<R]S:&5E=#,W+GAM;%!+ 0(4 Q0    (
M ,U;S%8ERR73/P(  !@%   9              " @<"P  !X;"]W;W)K<VAE
M971S+W-H965T,S@N>&UL4$L! A0#%     @ S5O,5HQD<=I@ P  "PL  !D
M             ("!-K,  'AL+W=O<FMS:&5E=',O<VAE970S.2YX;6Q02P$"
M% ,4    " #-6\Q6KQ>35!4#  !E#   &0              @('-M@  >&PO
M=V]R:W-H965T<R]S:&5E=#0P+GAM;%!+ 0(4 Q0    ( ,U;S%;/"U[T( (
M -X$   9              " @1FZ  !X;"]W;W)K<VAE971S+W-H965T-#$N
M>&UL4$L! A0#%     @ S5O,5E2M<5TR P  3@L  !D              ("!
M<+P  'AL+W=O<FMS:&5E=',O<VAE970T,BYX;6Q02P$"% ,4    " #-6\Q6
M(.9'ZTD#  "("P  &0              @('9OP  >&PO=V]R:W-H965T<R]S
M:&5E=#0S+GAM;%!+ 0(4 Q0    ( ,U;S%;VY9H]&P,  $@1   -
M      "  5G#  !X;"]S='EL97,N>&UL4$L! A0#%     @ S5O,5I>*NQS
M    $P(   L              ( !G\8  %]R96QS+RYR96QS4$L! A0#%
M  @ S5O,5K4)AO_H P  41T   \              ( !B,<  'AL+W=O<FMB
M;V]K+GAM;%!+ 0(4 Q0    ( ,U;S%;N2=W_G@$   @:   :
M  "  9W+  !X;"]?<F5L<R]W;W)K8F]O:RYX;6PN<F5L<U!+ 0(4 Q0    (
M ,U;S%:HRH?9JP$  $$:   3              "  7/-  !;0V]N=&5N=%]4
?>7!E<UTN>&UL4$L%!@     S #, W T  $_/      $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<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>57
<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>58
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.23.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>86</ContextCount>
  <ElementCount>203</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>true</FootnotesReported>
  <SegmentCount>27</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>8</UnitCount>
  <MyReports>
    <Report instance="occ20230430_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/20230430/role/statement-document-and-entity-information</Role>
      <ShortName>Document And Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="occ20230430_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/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited</Role>
      <ShortName>Condensed Consolidated Balance Sheets (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="occ20230430_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/20230430/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="occ20230430_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/20230430/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="occ20230430_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/20230430/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="occ20230430_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/20230430/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="occ20230430_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/20230430/role/statement-note-1-general</Role>
      <ShortName>Note 1 - General</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="occ20230430_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/20230430/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="occ20230430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>008 - Disclosure - Note 3 - Allowance for Doubtful Accounts for Trade Accounts Receivable</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20230430/role/statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable</Role>
      <ShortName>Note 3 - Allowance for Doubtful Accounts for Trade Accounts Receivable</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="occ20230430_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/20230430/role/statement-note-4-inventories</Role>
      <ShortName>Note 4 - Inventories</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="occ20230430_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/20230430/role/statement-note-5-product-warranties</Role>
      <ShortName>Note 5 - Product Warranties</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="occ20230430_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/20230430/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="occ20230430_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/20230430/role/statement-note-7-leases</Role>
      <ShortName>Note 7 - Leases</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="occ20230430_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/20230430/role/statement-note-8-fair-value-measurements</Role>
      <ShortName>Note 8 - Fair Value Measurements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="occ20230430_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/20230430/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="occ20230430_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/20230430/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="occ20230430_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/20230430/role/statement-note-11-revenue-recognition</Role>
      <ShortName>Note 11 - Revenue Recognition</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="occ20230430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>017 - Disclosure - Note 12 - Restricted Cash and Gain on Insurance Proceeds</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20230430/role/statement-note-12-restricted-cash-and-gain-on-insurance-proceeds</Role>
      <ShortName>Note 12 - Restricted Cash and Gain on Insurance Proceeds</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="occ20230430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>018 - Disclosure - Note 13 - Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20230430/role/statement-note-13-contingencies</Role>
      <ShortName>Note 13 - Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="occ20230430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>019 - Disclosure - Note 14 - New Accounting Standards Not Yet Adopted</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20230430/role/statement-note-14-new-accounting-standards-not-yet-adopted</Role>
      <ShortName>Note 14 - New Accounting Standards Not Yet Adopted</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="occ20230430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>020 - Disclosure - Note 3 - Allowance for Doubtful Accounts for Trade Accounts Receivable (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20230430/role/statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable-tables</Role>
      <ShortName>Note 3 - Allowance for Doubtful Accounts for Trade Accounts Receivable (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://http/20230430/role/statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable</ParentRole>
      <Position>21</Position>
    </Report>
    <Report instance="occ20230430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>021 - Disclosure - Note 4 - Inventories (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20230430/role/statement-note-4-inventories-tables</Role>
      <ShortName>Note 4 - Inventories (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://http/20230430/role/statement-note-4-inventories</ParentRole>
      <Position>22</Position>
    </Report>
    <Report instance="occ20230430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>022 - Disclosure - Note 5 - Product Warranties (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20230430/role/statement-note-5-product-warranties-tables</Role>
      <ShortName>Note 5 - Product Warranties (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://http/20230430/role/statement-note-5-product-warranties</ParentRole>
      <Position>23</Position>
    </Report>
    <Report instance="occ20230430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>023 - Disclosure - Note 6 - Long-term Debt and Notes Payable (Tables)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-tables</Role>
      <ShortName>Note 6 - Long-term Debt and Notes Payable (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-</ParentRole>
      <Position>24</Position>
    </Report>
    <Report instance="occ20230430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>024 - Disclosure - Note 7 - Leases (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20230430/role/statement-note-7-leases-tables</Role>
      <ShortName>Note 7 - Leases (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://http/20230430/role/statement-note-7-leases</ParentRole>
      <Position>25</Position>
    </Report>
    <Report instance="occ20230430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>025 - Disclosure - Note 9 - Net Income (Loss) Per Share (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20230430/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/20230430/role/statement-note-9-net-income-loss-per-share</ParentRole>
      <Position>26</Position>
    </Report>
    <Report instance="occ20230430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>026 - Disclosure - Note 11 - Revenue Recognition (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20230430/role/statement-note-11-revenue-recognition-tables</Role>
      <ShortName>Note 11 - Revenue Recognition (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://http/20230430/role/statement-note-11-revenue-recognition</ParentRole>
      <Position>27</Position>
    </Report>
    <Report instance="occ20230430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>027 - Disclosure - Note 2 - Stock Incentive Plans and Other Share-based Compensation (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20230430/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/20230430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="occ20230430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>028 - Disclosure - Note 3 - Allowance for Doubtful Accounts 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/20230430/role/statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable-summary-of-changes-in-the-allowance-for-doubtful-accounts-for-trade-accounts-receivable-details</Role>
      <ShortName>Note 3 - Allowance for Doubtful Accounts for Trade Accounts Receivable - Summary of Changes in the Allowance for Doubtful Accounts for Trade Accounts Receivable (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>29</Position>
    </Report>
    <Report instance="occ20230430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>029 - Disclosure - Note 4 - Inventories - Components of Inventories (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20230430/role/statement-note-4-inventories-components-of-inventories-details</Role>
      <ShortName>Note 4 - Inventories - Components of Inventories (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>30</Position>
    </Report>
    <Report instance="occ20230430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>030 - Disclosure - Note 5 - Product Warranties (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20230430/role/statement-note-5-product-warranties-details-textual</Role>
      <ShortName>Note 5 - Product Warranties (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://http/20230430/role/statement-note-5-product-warranties-tables</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="occ20230430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>031 - Disclosure - Note 5 - Product Warranties - Changes in Accrual for Product Warranties (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20230430/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>32</Position>
    </Report>
    <Report instance="occ20230430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>032 - Disclosure - Note 6 - Long-term Debt and Notes Payable (Details Textual)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://http/20230430/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/20230430/role/statement-note-6-longterm-debt-and-notes-payable-tables</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="occ20230430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>033 - Disclosure - Note 6 - Long-term Debt and Notes Payable - Long-term Debt (Details)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details</Role>
      <ShortName>Note 6 - Long-term Debt and Notes Payable - Long-term Debt (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>34</Position>
    </Report>
    <Report instance="occ20230430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>034 - Disclosure - Note 6 - Long-term Debt and Notes Payable - Long-term Debt (Details) (Parentheticals)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details-parentheticals</Role>
      <ShortName>Note 6 - Long-term Debt and Notes Payable - Long-term Debt (Details) (Parentheticals)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>35</Position>
    </Report>
    <Report instance="occ20230430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>035 - Disclosure - Note 7 - Leases (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20230430/role/statement-note-7-leases-details-textual</Role>
      <ShortName>Note 7 - Leases (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://http/20230430/role/statement-note-7-leases-tables</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="occ20230430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>036 - Disclosure - Note 7 - Leases - Future Payments Due (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20230430/role/statement-note-7-leases-future-payments-due-details</Role>
      <ShortName>Note 7 - Leases - Future Payments Due (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>37</Position>
    </Report>
    <Report instance="occ20230430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>037 - Disclosure - Note 9 - Net Income (Loss) Per Share (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20230430/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/20230430/role/statement-note-9-net-income-loss-per-share-tables</ParentRole>
      <Position>38</Position>
    </Report>
    <Report instance="occ20230430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>038 - 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/20230430/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/20230430/role/statement-note-9-net-income-loss-per-share-tables</ParentRole>
      <Position>39</Position>
    </Report>
    <Report instance="occ20230430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>039 - Disclosure - Note 10 - Segment Information and Business and Credit Concentrations (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20230430/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/20230430/role/statement-note-10-segment-information-and-business-and-credit-concentrations</ParentRole>
      <Position>40</Position>
    </Report>
    <Report instance="occ20230430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>040 - Disclosure - Note 11 - Revenue Recognition (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20230430/role/statement-note-11-revenue-recognition-details-textual</Role>
      <ShortName>Note 11 - Revenue Recognition (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://http/20230430/role/statement-note-11-revenue-recognition-tables</ParentRole>
      <Position>41</Position>
    </Report>
    <Report instance="occ20230430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>041 - Disclosure - Note 11 - Revenue Recognition - Revenue Attributed to United States and All Other Countries (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20230430/role/statement-note-11-revenue-recognition-revenue-attributed-to-united-states-and-all-other-countries-details</Role>
      <ShortName>Note 11 - Revenue Recognition - Revenue Attributed to United States and All Other Countries (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>42</Position>
    </Report>
    <Report instance="occ20230430_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>042 - Disclosure - Note 12 - Restricted Cash and Gain on Insurance Proceeds (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://http/20230430/role/statement-note-12-restricted-cash-and-gain-on-insurance-proceeds-details-textual</Role>
      <ShortName>Note 12 - Restricted Cash and Gain on Insurance Proceeds (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://http/20230430/role/statement-note-12-restricted-cash-and-gain-on-insurance-proceeds</ParentRole>
      <Position>43</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: 12 fact(s) appearing in ix:hidden were eligible for transformation: occ:ConcentrationRiskNumberOfCustomers, occ:DebtInstrumentTermExtensions, us-gaap:LesseeOperatingLeaseTermOfContract, us-gaap:PreferredStockNoParValue, us-gaap:PreferredStockSharesIssued, us-gaap:PreferredStockSharesOutstanding, us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability -  occ20230430_10q.htm 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24</Log>
  </Logs>
  <InputFiles>
    <File doctype="10-Q" original="occ20230430_10q.htm">occ20230430_10q.htm</File>
    <File>ex_529447.htm</File>
    <File>ex_529448.htm</File>
    <File>ex_529449.htm</File>
    <File>ex_529450.htm</File>
    <File>occ-20230430.xsd</File>
    <File>occ-20230430_cal.xml</File>
    <File>occ-20230430_def.xml</File>
    <File>occ-20230430_lab.xml</File>
    <File>occ-20230430_pre.xml</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="433">http://fasb.org/us-gaap/2023</BaseTaxonomy>
    <BaseTaxonomy items="29">http://xbrl.sec.gov/dei/2023</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>61
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "instance": {
  "occ20230430_10q.htm": {
   "axisCustom": 0,
   "axisStandard": 16,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2023": 433,
    "http://xbrl.sec.gov/dei/2023": 29
   },
   "contextCount": 86,
   "dts": {
    "calculationLink": {
     "local": [
      "occ-20230430_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "occ-20230430_def.xml"
     ]
    },
    "inline": {
     "local": [
      "occ20230430_10q.htm"
     ]
    },
    "labelLink": {
     "local": [
      "occ-20230430_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "occ-20230430_pre.xml"
     ]
    },
    "schema": {
     "local": [
      "occ-20230430.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/2023/elts/srt-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd",
      "https://xbrl.sec.gov/country/2023/country-2023.xsd",
      "https://xbrl.sec.gov/currency/2023/currency-2023.xsd",
      "https://xbrl.sec.gov/dei/2023/dei-2023.xsd",
      "https://xbrl.sec.gov/exch/2023/exch-2023.xsd",
      "https://xbrl.sec.gov/naics/2023/naics-2023.xsd",
      "https://xbrl.sec.gov/sic/2023/sic-2023.xsd",
      "https://xbrl.sec.gov/stpr/2023/stpr-2023.xsd"
     ]
    }
   },
   "elementCount": 301,
   "entityCount": 1,
   "hidden": {
    "http://fasb.org/us-gaap/2023": 8,
    "http://http/20230430": 4,
    "http://xbrl.sec.gov/dei/2023": 5,
    "total": 17
   },
   "keyCustom": 11,
   "keyStandard": 192,
   "memberCustom": 14,
   "memberStandard": 13,
   "nsprefix": "occ",
   "nsuri": "http://http/20230430",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "div",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "document",
     "isDefault": "true",
     "longName": "000 - Document - Document And Entity Information",
     "menuCat": "Cover",
     "order": "1",
     "role": "http://http/20230430/role/statement-document-and-entity-information",
     "shortName": "Document And Entity Information",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "div",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R10": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "009 - Disclosure - Note 4 - Inventories",
     "menuCat": "Notes",
     "order": "10",
     "role": "http://http/20230430/role/statement-note-4-inventories",
     "shortName": "Note 4 - Inventories",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R11": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ProductWarrantyDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "010 - Disclosure - Note 5 - Product Warranties",
     "menuCat": "Notes",
     "order": "11",
     "role": "http://http/20230430/role/statement-note-5-product-warranties",
     "shortName": "Note 5 - Product Warranties",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ProductWarrantyDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R12": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LongTermDebtTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "011 - Disclosure - Note 6 - Long-term Debt and Notes Payable",
     "menuCat": "Notes",
     "order": "12",
     "role": "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-",
     "shortName": "Note 6 - Long-term Debt and Notes Payable",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LongTermDebtTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R13": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "occ:LesseeOperatingAndFinanceLeasesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "012 - Disclosure - Note 7 - Leases",
     "menuCat": "Notes",
     "order": "13",
     "role": "http://http/20230430/role/statement-note-7-leases",
     "shortName": "Note 7 - Leases",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "occ:LesseeOperatingAndFinanceLeasesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R14": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "013 - Disclosure - Note 8 - Fair Value Measurements",
     "menuCat": "Notes",
     "order": "14",
     "role": "http://http/20230430/role/statement-note-8-fair-value-measurements",
     "shortName": "Note 8 - Fair Value Measurements",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R15": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "014 - Disclosure - Note 9 - Net Income (Loss) Per Share",
     "menuCat": "Notes",
     "order": "15",
     "role": "http://http/20230430/role/statement-note-9-net-income-loss-per-share",
     "shortName": "Note 9 - Net Income (Loss) Per Share",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R16": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ConcentrationRiskDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "015 - Disclosure - Note 10 - Segment Information and Business and Credit Concentrations",
     "menuCat": "Notes",
     "order": "16",
     "role": "http://http/20230430/role/statement-note-10-segment-information-and-business-and-credit-concentrations",
     "shortName": "Note 10 - Segment Information and Business and Credit Concentrations",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ConcentrationRiskDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R17": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "016 - Disclosure - Note 11 - Revenue Recognition",
     "menuCat": "Notes",
     "order": "17",
     "role": "http://http/20230430/role/statement-note-11-revenue-recognition",
     "shortName": "Note 11 - Revenue Recognition",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R18": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:UnusualOrInfrequentItemsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "017 - Disclosure - Note 12 - Restricted Cash and Gain on Insurance Proceeds",
     "menuCat": "Notes",
     "order": "18",
     "role": "http://http/20230430/role/statement-note-12-restricted-cash-and-gain-on-insurance-proceeds",
     "shortName": "Note 12 - Restricted Cash and Gain on Insurance Proceeds",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:UnusualOrInfrequentItemsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R19": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "018 - Disclosure - Note 13 - Contingencies",
     "menuCat": "Notes",
     "order": "19",
     "role": "http://http/20230430/role/statement-note-13-contingencies",
     "shortName": "Note 13 - Contingencies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R2": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "i_2023-04-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "001 - Statement - Condensed Consolidated Balance Sheets (Unaudited)",
     "menuCat": "Statements",
     "order": "2",
     "role": "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited",
     "shortName": "Condensed Consolidated Balance Sheets (Unaudited)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "i_2023-04-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R20": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "019 - Disclosure - Note 14 - New Accounting Standards Not Yet Adopted",
     "menuCat": "Notes",
     "order": "20",
     "role": "http://http/20230430/role/statement-note-14-new-accounting-standards-not-yet-adopted",
     "shortName": "Note 14 - New Accounting Standards Not Yet Adopted",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R21": {
     "firstAnchor": {
      "ancestors": [
       "occ:AllowanceForDoubtfulAccountsForTradeAccountsReceivableDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "occ:SummaryOfChangesInAllowanceForDoubtfulAccountsForTradeAccountsReceivableTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "020 - Disclosure - Note 3 - Allowance for Doubtful Accounts for Trade Accounts Receivable (Tables)",
     "menuCat": "Tables",
     "order": "21",
     "role": "http://http/20230430/role/statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable-tables",
     "shortName": "Note 3 - Allowance for Doubtful Accounts for Trade Accounts Receivable (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "occ:AllowanceForDoubtfulAccountsForTradeAccountsReceivableDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "occ:SummaryOfChangesInAllowanceForDoubtfulAccountsForTradeAccountsReceivableTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R22": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "021 - Disclosure - Note 4 - Inventories (Tables)",
     "menuCat": "Tables",
     "order": "22",
     "role": "http://http/20230430/role/statement-note-4-inventories-tables",
     "shortName": "Note 4 - Inventories (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R23": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:ProductWarrantyDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "022 - Disclosure - Note 5 - Product Warranties (Tables)",
     "menuCat": "Tables",
     "order": "23",
     "role": "http://http/20230430/role/statement-note-5-product-warranties-tables",
     "shortName": "Note 5 - Product Warranties (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:ProductWarrantyDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R24": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:LongTermDebtTextBlock",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDebtTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "023 - Disclosure - Note 6 - Long-term Debt and Notes Payable (Tables)",
     "menuCat": "Tables",
     "order": "24",
     "role": "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-tables",
     "shortName": "Note 6 - Long-term Debt and Notes Payable (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:LongTermDebtTextBlock",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDebtTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R25": {
     "firstAnchor": {
      "ancestors": [
       "occ:LesseeOperatingAndFinanceLeasesDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "occ:LesseeLeaseLiabilityMaturityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "024 - Disclosure - Note 7 - Leases (Tables)",
     "menuCat": "Tables",
     "order": "25",
     "role": "http://http/20230430/role/statement-note-7-leases-tables",
     "shortName": "Note 7 - Leases (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "occ:LesseeOperatingAndFinanceLeasesDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "occ:LesseeLeaseLiabilityMaturityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R26": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "025 - Disclosure - Note 9 - Net Income (Loss) Per Share (Tables)",
     "menuCat": "Tables",
     "order": "26",
     "role": "http://http/20230430/role/statement-note-9-net-income-loss-per-share-tables",
     "shortName": "Note 9 - Net Income (Loss) Per Share (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R27": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "026 - Disclosure - Note 11 - Revenue Recognition (Tables)",
     "menuCat": "Tables",
     "order": "27",
     "role": "http://http/20230430/role/statement-note-11-revenue-recognition-tables",
     "shortName": "Note 11 - Revenue Recognition (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R28": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30_AwardTypeAxis-RestrictedStockMember",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Share",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "027 - Disclosure - Note 2 - Stock Incentive Plans and Other Share-based Compensation (Details Textual)",
     "menuCat": "Details",
     "order": "28",
     "role": "http://http/20230430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual",
     "shortName": "Note 2 - Stock Incentive Plans and Other Share-based Compensation (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30_AwardTypeAxis-RestrictedStockMember",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Share",
      "xsiNil": "false"
     }
    },
    "R29": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "i_2022-10-31",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "028 - Disclosure - Note 3 - Allowance for Doubtful Accounts for Trade Accounts Receivable - Summary of Changes in the Allowance for Doubtful Accounts for Trade Accounts Receivable (Details)",
     "menuCat": "Details",
     "order": "29",
     "role": "http://http/20230430/role/statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable-summary-of-changes-in-the-allowance-for-doubtful-accounts-for-trade-accounts-receivable-details",
     "shortName": "Note 3 - Allowance for Doubtful Accounts for Trade Accounts Receivable - Summary of Changes in the Allowance for Doubtful Accounts for Trade Accounts Receivable (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "occ:SummaryOfChangesInAllowanceForDoubtfulAccountsForTradeAccountsReceivableTableTextBlock",
       "occ:AllowanceForDoubtfulAccountsForTradeAccountsReceivableDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "i_2021-10-31",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R3": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "i_2023-04-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "002 - Statement - Condensed Consolidated Balance Sheets (Unaudited) (Parentheticals)",
     "menuCat": "Statements",
     "order": "3",
     "role": "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited-parentheticals",
     "shortName": "Condensed Consolidated Balance Sheets (Unaudited) (Parentheticals)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "i_2023-04-30",
      "decimals": "INF",
      "lang": null,
      "name": "us-gaap:PreferredStockSharesAuthorized",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Share",
      "xsiNil": "false"
     }
    },
    "R30": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "i_2023-04-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryFinishedGoodsNetOfReserves",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "029 - Disclosure - Note 4 - Inventories - Components of Inventories (Details)",
     "menuCat": "Details",
     "order": "30",
     "role": "http://http/20230430/role/statement-note-4-inventories-components-of-inventories-details",
     "shortName": "Note 4 - Inventories - Components of Inventories (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "i_2023-04-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryFinishedGoodsNetOfReserves",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R31": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
       "us-gaap:ProductWarrantyDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "i_2023-04-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProductWarrantyAccrual",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "030 - Disclosure - Note 5 - Product Warranties (Details Textual)",
     "menuCat": "Details",
     "order": "31",
     "role": "http://http/20230430/role/statement-note-5-product-warranties-details-textual",
     "shortName": "Note 5 - Product Warranties (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:ProductWarrantyDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2023-02-01_2023-04-30",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:ProductWarrantyExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R32": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
       "us-gaap:ProductWarrantyDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "i_2022-10-31",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProductWarrantyAccrual",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "031 - Disclosure - Note 5 - Product Warranties - Changes in Accrual for Product Warranties (Details)",
     "menuCat": "Details",
     "order": "32",
     "role": "http://http/20230430/role/statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details",
     "shortName": "Note 5 - Product Warranties - Changes in Accrual for Product Warranties (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
       "us-gaap:ProductWarrantyDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:ProductWarrantyAccrualWarrantiesIssued",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R33": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:LongTermDebtTextBlock",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "i_2023-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-PinnacleFinancialPartnersMember",
      "decimals": "-6",
      "first": true,
      "lang": null,
      "name": "us-gaap:LineOfCredit",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "032 - Disclosure - Note 6 - Long-term Debt and Notes Payable (Details Textual)",
     "menuCat": "Details",
     "order": "33",
     "role": "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual",
     "shortName": "Note 6 - Long-term Debt and Notes Payable (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:LongTermDebtTextBlock",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "i_2023-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-PinnacleFinancialPartnersMember",
      "decimals": "-6",
      "first": true,
      "lang": null,
      "name": "us-gaap:LineOfCredit",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R34": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfDebtTableTextBlock",
       "us-gaap:LongTermDebtTextBlock",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "i_2023-04-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:LongTermDebt",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "033 - Disclosure - Note 6 - Long-term Debt and Notes Payable - Long-term Debt (Details)",
     "menuCat": "Details",
     "order": "34",
     "role": "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details",
     "shortName": "Note 6 - Long-term Debt and Notes Payable - Long-term Debt (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfDebtTableTextBlock",
       "us-gaap:LongTermDebtTextBlock",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "i_2023-04-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:LongTermDebt",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R35": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfDebtTableTextBlock",
       "us-gaap:LongTermDebtTextBlock",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "i_2023-04-30_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:DebtInstrumentFaceAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "034 - Disclosure - Note 6 - Long-term Debt and Notes Payable - Long-term Debt (Details) (Parentheticals)",
     "menuCat": "Details",
     "order": "35",
     "role": "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details-parentheticals",
     "shortName": "Note 6 - Long-term Debt and Notes Payable - Long-term Debt (Details) (Parentheticals)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfDebtTableTextBlock",
       "us-gaap:LongTermDebtTextBlock",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "i_2023-04-30_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:DebtInstrumentFaceAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R36": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "occ:LesseeOperatingAndFinanceLeasesDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2023-02-01_2023-04-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeaseExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "035 - Disclosure - Note 7 - Leases (Details Textual)",
     "menuCat": "Details",
     "order": "36",
     "role": "http://http/20230430/role/statement-note-7-leases-details-textual",
     "shortName": "Note 7 - Leases (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "occ:LesseeOperatingAndFinanceLeasesDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2023-02-01_2023-04-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeaseExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R37": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "occ:LesseeLeaseLiabilityMaturityTableTextBlock",
       "occ:LesseeOperatingAndFinanceLeasesDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "i_2023-04-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "036 - Disclosure - Note 7 - Leases - Future Payments Due (Details)",
     "menuCat": "Details",
     "order": "37",
     "role": "http://http/20230430/role/statement-note-7-leases-future-payments-due-details",
     "shortName": "Note 7 - Leases - Future Payments Due (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "occ:LesseeLeaseLiabilityMaturityTableTextBlock",
       "occ:LesseeOperatingAndFinanceLeasesDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "i_2023-04-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R38": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-02-01_2022-04-30",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Share",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "037 - Disclosure - Note 9 - Net Income (Loss) Per Share (Details Textual)",
     "menuCat": "Details",
     "order": "38",
     "role": "http://http/20230430/role/statement-note-9-net-income-loss-per-share-details-textual",
     "shortName": "Note 9 - Net Income (Loss) Per Share (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-02-01_2022-04-30",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Share",
      "xsiNil": "false"
     }
    },
    "R39": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2023-02-01_2023-04-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "038 - Disclosure - Note 9 - Net Income (Loss) Per Share - Components of Reconciliation of Numerators and Denominators Net Loss Per Share (Details)",
     "menuCat": "Details",
     "order": "39",
     "role": "http://http/20230430/role/statement-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)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2023-02-01_2023-04-30",
      "decimals": "INF",
      "lang": null,
      "name": "us-gaap:WeightedAverageNumberOfSharesOutstandingBasic",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Share",
      "xsiNil": "false"
     }
    },
    "R4": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2023-02-01_2023-04-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "003 - Statement - Condensed Consolidated Statements of Operations (Unaudited)",
     "menuCat": "Statements",
     "order": "4",
     "role": "http://http/20230430/role/statement-condensed-consolidated-statements-of-operations-unaudited-",
     "shortName": "Condensed Consolidated Statements of Operations (Unaudited)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2023-02-01_2023-04-30",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:CostOfGoodsAndServicesSold",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R40": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:ConcentrationRiskDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2023-02-01_2023-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-CustomerOneMember",
      "decimals": "3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "039 - Disclosure - Note 10 - Segment Information and Business and Credit Concentrations (Details Textual)",
     "menuCat": "Details",
     "order": "40",
     "role": "http://http/20230430/role/statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual",
     "shortName": "Note 10 - Segment Information and Business and Credit Concentrations (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:ConcentrationRiskDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2023-02-01_2023-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-CustomerOneMember",
      "decimals": "3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     }
    },
    "R41": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "i_2023-04-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:ContractWithCustomerLiability",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "040 - Disclosure - Note 11 - Revenue Recognition (Details Textual)",
     "menuCat": "Details",
     "order": "41",
     "role": "http://http/20230430/role/statement-note-11-revenue-recognition-details-textual",
     "shortName": "Note 11 - Revenue Recognition (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "i_2023-04-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:ContractWithCustomerLiability",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R42": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2023-02-01_2023-04-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "041 - Disclosure - Note 11 - Revenue Recognition - Revenue Attributed to United States and All Other Countries (Details)",
     "menuCat": "Details",
     "order": "42",
     "role": "http://http/20230430/role/statement-note-11-revenue-recognition-revenue-attributed-to-united-states-and-all-other-countries-details",
     "shortName": "Note 11 - Revenue Recognition - Revenue Attributed to United States and All Other Countries (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2023-02-01_2023-04-30_StatementGeographicalAxis-US",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R43": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "i_2023-04-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:RestrictedCash",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "042 - Disclosure - Note 12 - Restricted Cash and Gain on Insurance Proceeds (Details Textual)",
     "menuCat": "Details",
     "order": "43",
     "role": "http://http/20230430/role/statement-note-12-restricted-cash-and-gain-on-insurance-proceeds-details-textual",
     "shortName": "Note 12 - Restricted Cash and Gain on Insurance Proceeds (Details Textual)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:UnusualOrInfrequentItemsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30_UnusualOrInfrequentItemAxis-WaterDamageFromPipeBurstMember",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:UnusualOrInfrequentItemNetOfInsuranceProceeds",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R5": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "i_2021-10-31_StatementEquityComponentsAxis-CommonStockMember",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:SharesOutstanding",
      "reportCount": 1,
      "unitRef": "Share",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "004 - Statement - Condensed Consolidated Statements of Shareholders' Equity (Unaudited)",
     "menuCat": "Statements",
     "order": "5",
     "role": "http://http/20230430/role/statement-condensed-consolidated-statements-of-shareholders-equity-unaudited",
     "shortName": "Condensed Consolidated Statements of Shareholders' Equity (Unaudited)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2021-11-01_2022-01-31_StatementEquityComponentsAxis-CommonStockMember",
      "decimals": "INF",
      "lang": null,
      "name": "us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Share",
      "xsiNil": "false"
     }
    },
    "R6": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "005 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited)",
     "menuCat": "Statements",
     "order": "6",
     "role": "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited",
     "shortName": "Condensed Consolidated Statements of Cash Flows (Unaudited)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:DepreciationDepletionAndAmortization",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R7": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "006 - Disclosure - Note 1 - General",
     "menuCat": "Notes",
     "order": "7",
     "role": "http://http/20230430/role/statement-note-1-general",
     "shortName": "Note 1 - General",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R8": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "007 - Disclosure - Note 2 - Stock Incentive Plans and Other Share-based Compensation",
     "menuCat": "Notes",
     "order": "8",
     "role": "http://http/20230430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation",
     "shortName": "Note 2 - Stock Incentive Plans and Other Share-based Compensation",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R9": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "occ:AllowanceForDoubtfulAccountsForTradeAccountsReceivableDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "008 - Disclosure - Note 3 - Allowance for Doubtful Accounts for Trade Accounts Receivable",
     "menuCat": "Notes",
     "order": "9",
     "role": "http://http/20230430/role/statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable",
     "shortName": "Note 3 - Allowance for Doubtful Accounts for Trade Accounts Receivable",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "occ20230430_10q.htm",
      "contextRef": "d_2022-11-01_2023-04-30",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "occ:AllowanceForDoubtfulAccountsForTradeAccountsReceivableDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    }
   },
   "segmentCount": 27,
   "tag": {
    "country_US": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "UNITED STATES"
       }
      }
     },
     "localname": "US",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-11-revenue-recognition",
      "http://http/20230430/role/statement-note-11-revenue-recognition-revenue-attributed-to-united-states-and-all-other-countries-details"
     ],
     "xbrltype": "domainItemType"
    },
    "dei_AmendmentFlag": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.",
        "label": "Amendment Flag"
       }
      }
     },
     "localname": "AmendmentFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://http/20230430/role/statement-document-and-entity-information"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_CityAreaCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Area code of city",
        "label": "dei_CityAreaCode",
        "terseLabel": "City Area Code"
       }
      }
     },
     "localname": "CityAreaCode",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://http/20230430/role/statement-document-and-entity-information"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_CurrentFiscalYearEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "End date of current fiscal year in the format --MM-DD.",
        "label": "Current Fiscal Year End Date"
       }
      }
     },
     "localname": "CurrentFiscalYearEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://http/20230430/role/statement-document-and-entity-information"
     ],
     "xbrltype": "gMonthDayItemType"
    },
    "dei_DocumentFiscalPeriodFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.",
        "label": "Document Fiscal Period Focus"
       }
      }
     },
     "localname": "DocumentFiscalPeriodFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://http/20230430/role/statement-document-and-entity-information"
     ],
     "xbrltype": "fiscalPeriodItemType"
    },
    "dei_DocumentFiscalYearFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.",
        "label": "Document Fiscal Year Focus"
       }
      }
     },
     "localname": "DocumentFiscalYearFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://http/20230430/role/statement-document-and-entity-information"
     ],
     "xbrltype": "gYearItemType"
    },
    "dei_DocumentInformationLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Document Information [Line Items]"
       }
      }
     },
     "localname": "DocumentInformationLineItems",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://http/20230430/role/statement-document-and-entity-information"
     ],
     "xbrltype": "stringItemType"
    },
    "dei_DocumentInformationTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Container to support the formal attachment of each official or unofficial, public or private document as part of a submission package.",
        "label": "Document Information [Table]"
       }
      }
     },
     "localname": "DocumentInformationTable",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "xbrltype": "stringItemType"
    },
    "dei_DocumentPeriodEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.",
        "label": "dei_DocumentPeriodEndDate",
        "terseLabel": "Document Period End Date"
       }
      }
     },
     "localname": "DocumentPeriodEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://http/20230430/role/statement-document-and-entity-information"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentQuarterlyReport": {
     "auth_ref": [
      "r479"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as an quarterly report.",
        "label": "dei_DocumentQuarterlyReport",
        "terseLabel": "Document Quarterly Report"
       }
      }
     },
     "localname": "DocumentQuarterlyReport",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://http/20230430/role/statement-document-and-entity-information"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentTransitionReport": {
     "auth_ref": [
      "r480"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as a transition report.",
        "label": "dei_DocumentTransitionReport",
        "terseLabel": "Document Transition Report"
       }
      }
     },
     "localname": "DocumentTransitionReport",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://http/20230430/role/statement-document-and-entity-information"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentType": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.",
        "label": "dei_DocumentType",
        "terseLabel": "Document Type"
       }
      }
     },
     "localname": "DocumentType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://http/20230430/role/statement-document-and-entity-information"
     ],
     "xbrltype": "submissionTypeItemType"
    },
    "dei_EntityAddressAddressLine1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name",
        "label": "dei_EntityAddressAddressLine1",
        "terseLabel": "Entity Address, Address Line One"
       }
      }
     },
     "localname": "EntityAddressAddressLine1",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://http/20230430/role/statement-document-and-entity-information"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCityOrTown": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the City or Town",
        "label": "dei_EntityAddressCityOrTown",
        "terseLabel": "Entity Address, City or Town"
       }
      }
     },
     "localname": "EntityAddressCityOrTown",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://http/20230430/role/statement-document-and-entity-information"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressPostalZipCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Code for the postal or zip code",
        "label": "dei_EntityAddressPostalZipCode",
        "terseLabel": "Entity Address, Postal Zip Code"
       }
      }
     },
     "localname": "EntityAddressPostalZipCode",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://http/20230430/role/statement-document-and-entity-information"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressStateOrProvince": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the state or province.",
        "label": "dei_EntityAddressStateOrProvince",
        "terseLabel": "Entity Address, State or Province"
       }
      }
     },
     "localname": "EntityAddressStateOrProvince",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://http/20230430/role/statement-document-and-entity-information"
     ],
     "xbrltype": "stateOrProvinceItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r477"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.",
        "label": "Entity Central Index Key"
       }
      }
     },
     "localname": "EntityCentralIndexKey",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://http/20230430/role/statement-document-and-entity-information"
     ],
     "xbrltype": "centralIndexKeyItemType"
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.",
        "label": "dei_EntityCommonStockSharesOutstanding",
        "terseLabel": "Entity Common Stock, Shares Outstanding (in shares)"
       }
      }
     },
     "localname": "EntityCommonStockSharesOutstanding",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://http/20230430/role/statement-document-and-entity-information"
     ],
     "xbrltype": "sharesItemType"
    },
    "dei_EntityCurrentReportingStatus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "dei_EntityCurrentReportingStatus",
        "terseLabel": "Entity Current Reporting Status"
       }
      }
     },
     "localname": "EntityCurrentReportingStatus",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://http/20230430/role/statement-document-and-entity-information"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Entity [Domain]"
       }
      }
     },
     "localname": "EntityDomain",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited",
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited-parentheticals",
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited",
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-operations-unaudited-",
      "http://http/20230430/role/statement-document-and-entity-information",
      "http://http/20230430/role/statement-note-1-general",
      "http://http/20230430/role/statement-note-10-segment-information-and-business-and-credit-concentrations",
      "http://http/20230430/role/statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual",
      "http://http/20230430/role/statement-note-11-revenue-recognition",
      "http://http/20230430/role/statement-note-11-revenue-recognition-details-textual",
      "http://http/20230430/role/statement-note-11-revenue-recognition-revenue-attributed-to-united-states-and-all-other-countries-details",
      "http://http/20230430/role/statement-note-11-revenue-recognition-tables",
      "http://http/20230430/role/statement-note-12-restricted-cash-and-gain-on-insurance-proceeds",
      "http://http/20230430/role/statement-note-12-restricted-cash-and-gain-on-insurance-proceeds-details-textual",
      "http://http/20230430/role/statement-note-13-contingencies",
      "http://http/20230430/role/statement-note-14-new-accounting-standards-not-yet-adopted",
      "http://http/20230430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation",
      "http://http/20230430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual",
      "http://http/20230430/role/statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable",
      "http://http/20230430/role/statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable-summary-of-changes-in-the-allowance-for-doubtful-accounts-for-trade-accounts-receivable-details",
      "http://http/20230430/role/statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable-tables",
      "http://http/20230430/role/statement-note-4-inventories",
      "http://http/20230430/role/statement-note-4-inventories-components-of-inventories-details",
      "http://http/20230430/role/statement-note-4-inventories-tables",
      "http://http/20230430/role/statement-note-5-product-warranties",
      "http://http/20230430/role/statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details",
      "http://http/20230430/role/statement-note-5-product-warranties-details-textual",
      "http://http/20230430/role/statement-note-5-product-warranties-tables",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details-parentheticals",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-tables",
      "http://http/20230430/role/statement-note-7-leases",
      "http://http/20230430/role/statement-note-7-leases-details-textual",
      "http://http/20230430/role/statement-note-7-leases-future-payments-due-details",
      "http://http/20230430/role/statement-note-7-leases-tables",
      "http://http/20230430/role/statement-note-8-fair-value-measurements",
      "http://http/20230430/role/statement-note-9-net-income-loss-per-share",
      "http://http/20230430/role/statement-note-9-net-income-loss-per-share-components-of-reconciliation-of-numerators-and-denominators-net-loss-per-share-details",
      "http://http/20230430/role/statement-note-9-net-income-loss-per-share-details-textual",
      "http://http/20230430/role/statement-note-9-net-income-loss-per-share-tables"
     ],
     "xbrltype": "domainItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r477"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate if registrant meets the emerging growth company criteria.",
        "label": "Entity Emerging Growth Company"
       }
      }
     },
     "localname": "EntityEmergingGrowthCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://http/20230430/role/statement-document-and-entity-information"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityFileNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.",
        "label": "dei_EntityFileNumber",
        "terseLabel": "Entity File Number"
       }
      }
     },
     "localname": "EntityFileNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://http/20230430/role/statement-document-and-entity-information"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_EntityFilerCategory": {
     "auth_ref": [
      "r477"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Filer Category"
       }
      }
     },
     "localname": "EntityFilerCategory",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://http/20230430/role/statement-document-and-entity-information"
     ],
     "xbrltype": "filerCategoryItemType"
    },
    "dei_EntityIncorporationStateCountryCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two-character EDGAR code representing the state or country of incorporation.",
        "label": "Entity Incorporation, State or Country Code"
       }
      }
     },
     "localname": "EntityIncorporationStateCountryCode",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://http/20230430/role/statement-document-and-entity-information"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityInteractiveDataCurrent": {
     "auth_ref": [
      "r481"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).",
        "label": "dei_EntityInteractiveDataCurrent",
        "terseLabel": "Entity Interactive Data Current"
       }
      }
     },
     "localname": "EntityInteractiveDataCurrent",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://http/20230430/role/statement-document-and-entity-information"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r477"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.",
        "label": "dei_EntityRegistrantName",
        "terseLabel": "Entity Registrant Name"
       }
      }
     },
     "localname": "EntityRegistrantName",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://http/20230430/role/statement-document-and-entity-information"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityShellCompany": {
     "auth_ref": [
      "r477"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.",
        "label": "dei_EntityShellCompany",
        "terseLabel": "Entity Shell Company"
       }
      }
     },
     "localname": "EntityShellCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://http/20230430/role/statement-document-and-entity-information"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntitySmallBusiness": {
     "auth_ref": [
      "r477"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).",
        "label": "Entity Small Business"
       }
      }
     },
     "localname": "EntitySmallBusiness",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://http/20230430/role/statement-document-and-entity-information"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityTaxIdentificationNumber": {
     "auth_ref": [
      "r477"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.",
        "label": "Entity Tax Identification Number"
       }
      }
     },
     "localname": "EntityTaxIdentificationNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://http/20230430/role/statement-document-and-entity-information"
     ],
     "xbrltype": "employerIdItemType"
    },
    "dei_LegalEntityAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The set of legal entities associated with a report.",
        "label": "Legal Entity [Axis]"
       }
      }
     },
     "localname": "LegalEntityAxis",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited",
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited-parentheticals",
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited",
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-operations-unaudited-",
      "http://http/20230430/role/statement-document-and-entity-information",
      "http://http/20230430/role/statement-note-1-general",
      "http://http/20230430/role/statement-note-10-segment-information-and-business-and-credit-concentrations",
      "http://http/20230430/role/statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual",
      "http://http/20230430/role/statement-note-11-revenue-recognition",
      "http://http/20230430/role/statement-note-11-revenue-recognition-details-textual",
      "http://http/20230430/role/statement-note-11-revenue-recognition-revenue-attributed-to-united-states-and-all-other-countries-details",
      "http://http/20230430/role/statement-note-11-revenue-recognition-tables",
      "http://http/20230430/role/statement-note-12-restricted-cash-and-gain-on-insurance-proceeds",
      "http://http/20230430/role/statement-note-12-restricted-cash-and-gain-on-insurance-proceeds-details-textual",
      "http://http/20230430/role/statement-note-13-contingencies",
      "http://http/20230430/role/statement-note-14-new-accounting-standards-not-yet-adopted",
      "http://http/20230430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation",
      "http://http/20230430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual",
      "http://http/20230430/role/statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable",
      "http://http/20230430/role/statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable-summary-of-changes-in-the-allowance-for-doubtful-accounts-for-trade-accounts-receivable-details",
      "http://http/20230430/role/statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable-tables",
      "http://http/20230430/role/statement-note-4-inventories",
      "http://http/20230430/role/statement-note-4-inventories-components-of-inventories-details",
      "http://http/20230430/role/statement-note-4-inventories-tables",
      "http://http/20230430/role/statement-note-5-product-warranties",
      "http://http/20230430/role/statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details",
      "http://http/20230430/role/statement-note-5-product-warranties-details-textual",
      "http://http/20230430/role/statement-note-5-product-warranties-tables",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details-parentheticals",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-tables",
      "http://http/20230430/role/statement-note-7-leases",
      "http://http/20230430/role/statement-note-7-leases-details-textual",
      "http://http/20230430/role/statement-note-7-leases-future-payments-due-details",
      "http://http/20230430/role/statement-note-7-leases-tables",
      "http://http/20230430/role/statement-note-8-fair-value-measurements",
      "http://http/20230430/role/statement-note-9-net-income-loss-per-share",
      "http://http/20230430/role/statement-note-9-net-income-loss-per-share-components-of-reconciliation-of-numerators-and-denominators-net-loss-per-share-details",
      "http://http/20230430/role/statement-note-9-net-income-loss-per-share-details-textual",
      "http://http/20230430/role/statement-note-9-net-income-loss-per-share-tables"
     ],
     "xbrltype": "stringItemType"
    },
    "dei_LocalPhoneNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Local phone number for entity.",
        "label": "dei_LocalPhoneNumber",
        "terseLabel": "Local Phone Number"
       }
      }
     },
     "localname": "LocalPhoneNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://http/20230430/role/statement-document-and-entity-information"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r476"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Title of a 12(b) registered security.",
        "label": "Title of 12(b) Security"
       }
      }
     },
     "localname": "Security12bTitle",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://http/20230430/role/statement-document-and-entity-information"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r478"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the Exchange on which a security is registered.",
        "label": "Security Exchange Name"
       }
      }
     },
     "localname": "SecurityExchangeName",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://http/20230430/role/statement-document-and-entity-information"
     ],
     "xbrltype": "edgarExchangeCodeItemType"
    },
    "dei_TradingSymbol": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Trading symbol of an instrument as listed on an exchange.",
        "label": "Trading Symbol"
       }
      }
     },
     "localname": "TradingSymbol",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "presentation": [
      "http://http/20230430/role/statement-document-and-entity-information"
     ],
     "xbrltype": "tradingSymbolItemType"
    },
    "occ_AccountsPayableAndAccruedLiabilitiesCurrentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information on operating lease liabilities included in accounts payable and accrued expenses.",
        "label": "Accounts Payable and Accrued Liabilities, Current [Member]"
       }
      }
     },
     "localname": "AccountsPayableAndAccruedLiabilitiesCurrentMember",
     "nsuri": "http://http/20230430",
     "presentation": [
      "http://http/20230430/role/statement-note-7-leases",
      "http://http/20230430/role/statement-note-7-leases-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "occ_AllowanceForDoubtfulAccountsForTradeAccountsReceivableDisclosureTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Allowance for doubtful accounts for trade accounts receivable",
        "label": "Allowance for Doubtful Accounts for Trade Accounts Receivable Disclosure [Text Block]"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsForTradeAccountsReceivableDisclosureTextBlock",
     "nsuri": "http://http/20230430",
     "presentation": [
      "http://http/20230430/role/statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable"
     ],
     "xbrltype": "textBlockItemType"
    },
    "occ_ConcentrationRiskNumberOfCustomers": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of customers for a concentration risk benchmark.",
        "label": "occ_ConcentrationRiskNumberOfCustomers",
        "terseLabel": "Concentration Risk, Number of Customers"
       }
      }
     },
     "localname": "ConcentrationRiskNumberOfCustomers",
     "nsuri": "http://http/20230430",
     "presentation": [
      "http://http/20230430/role/statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual"
     ],
     "xbrltype": "integerItemType"
    },
    "occ_CustomerOneMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining customer number one.",
        "label": "Customer One [Member]"
       }
      }
     },
     "localname": "CustomerOneMember",
     "nsuri": "http://http/20230430",
     "presentation": [
      "http://http/20230430/role/statement-note-10-segment-information-and-business-and-credit-concentrations",
      "http://http/20230430/role/statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "occ_DebtInstrumentTermExtensions": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "occ_DebtInstrumentTermExtensions",
        "terseLabel": "Debt Instrument, Term Extensions (Year)"
       }
      }
     },
     "localname": "DebtInstrumentTermExtensions",
     "nsuri": "http://http/20230430",
     "presentation": [
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "xbrltype": "durationItemType"
    },
    "occ_EmployeesConsultantAndNonemployeeDirectorsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information related to employees, consultant and non-employee directors.",
        "label": "Employees, Consultant and Non-employee Directors [Member]"
       }
      }
     },
     "localname": "EmployeesConsultantAndNonemployeeDirectorsMember",
     "nsuri": "http://http/20230430",
     "presentation": [
      "http://http/20230430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation",
      "http://http/20230430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "occ_LesseeLeaseLiabilityMaturityTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of future payments for operating and finance lease obligations.",
        "label": "Lessee, Lease Liability, Maturity [Table Text Block]"
       }
      }
     },
     "localname": "LesseeLeaseLiabilityMaturityTableTextBlock",
     "nsuri": "http://http/20230430",
     "presentation": [
      "http://http/20230430/role/statement-note-7-leases-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "occ_LesseeOperatingAndFinanceLeasesDisclosureTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Lessee, Operating and Finance Leases Disclosure [Text Block]"
       }
      }
     },
     "localname": "LesseeOperatingAndFinanceLeasesDisclosureTextBlock",
     "nsuri": "http://http/20230430",
     "presentation": [
      "http://http/20230430/role/statement-note-7-leases"
     ],
     "xbrltype": "textBlockItemType"
    },
    "occ_LineOfCreditFacilityAdditionalCapacityForAdvances": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Additional facility for advances.",
        "label": "occ_LineOfCreditFacilityAdditionalCapacityForAdvances",
        "terseLabel": "Line of Credit Facility, Additional Capacity for Advances"
       }
      }
     },
     "localname": "LineOfCreditFacilityAdditionalCapacityForAdvances",
     "nsuri": "http://http/20230430",
     "presentation": [
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "occ_LineOfCreditFacilityPercentOfEligibleAccounts": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percent of aggregate outstanding amount of eligible accounts available for advance.",
        "label": "occ_LineOfCreditFacilityPercentOfEligibleAccounts",
        "terseLabel": "Line of Credit Facility, Percent of Eligible Accounts"
       }
      }
     },
     "localname": "LineOfCreditFacilityPercentOfEligibleAccounts",
     "nsuri": "http://http/20230430",
     "presentation": [
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "xbrltype": "percentItemType"
    },
    "occ_LineOfCreditFacilityPercentOfEligibleInventory": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percent of aggregate outstanding amount of eligible inventory available for advance.",
        "label": "occ_LineOfCreditFacilityPercentOfEligibleInventory",
        "terseLabel": "Line of Credit Facility, Percent of Eligible Inventory"
       }
      }
     },
     "localname": "LineOfCreditFacilityPercentOfEligibleInventory",
     "nsuri": "http://http/20230430",
     "presentation": [
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "xbrltype": "percentItemType"
    },
    "occ_LineOfCreditFacilityRestrictedCapacityForAdvances": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Additional limit to facility for advances.",
        "label": "occ_LineOfCreditFacilityRestrictedCapacityForAdvances",
        "terseLabel": "Line of Credit Facility, Restricted Capacity for Advances"
       }
      }
     },
     "localname": "LineOfCreditFacilityRestrictedCapacityForAdvances",
     "nsuri": "http://http/20230430",
     "presentation": [
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "occ_NorthCarolinaRealEstateLoanMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "North carolina real estate loan [member]",
        "label": "North Carolina Real Estate Loan [Member]"
       }
      }
     },
     "localname": "NorthCarolinaRealEstateLoanMember",
     "nsuri": "http://http/20230430",
     "presentation": [
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details-parentheticals"
     ],
     "xbrltype": "domainItemType"
    },
    "occ_NorthMillCapitalLlcMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents North Mill Capital LLC.",
        "label": "North Mill Capital LLC [Member]"
       }
      }
     },
     "localname": "NorthMillCapitalLlcMember",
     "nsuri": "http://http/20230430",
     "presentation": [
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "occ_NoteToFinancialStatementDetailsTextual": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note To Financial Statement Details Textual"
       }
      }
     },
     "localname": "NoteToFinancialStatementDetailsTextual",
     "nsuri": "http://http/20230430",
     "xbrltype": "stringItemType"
    },
    "occ_NotesToFinancialStatementsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Notes To Financial Statements [Abstract]"
       }
      }
     },
     "localname": "NotesToFinancialStatementsAbstract",
     "nsuri": "http://http/20230430",
     "xbrltype": "stringItemType"
    },
    "occ_OneCustomerMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents one customer.",
        "label": "One Customer [Member]"
       }
      }
     },
     "localname": "OneCustomerMember",
     "nsuri": "http://http/20230430",
     "presentation": [
      "http://http/20230430/role/statement-note-10-segment-information-and-business-and-credit-concentrations",
      "http://http/20230430/role/statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "occ_OperatingLeaseForOfficeEquipmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents operating lease for office equipment.",
        "label": "Operating Lease For Office Equipment [Member]"
       }
      }
     },
     "localname": "OperatingLeaseForOfficeEquipmentMember",
     "nsuri": "http://http/20230430",
     "presentation": [
      "http://http/20230430/role/statement-note-7-leases",
      "http://http/20230430/role/statement-note-7-leases-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "occ_OperatingLeaseForOfficeManufacturingAndWarehouseSpaceInPlanoTexasMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the operating lease arrangement related to the office, manufacturing and warehouse space in Plano, Texas.",
        "label": "Operating Lease for Office, Manufacturing and Warehouse Space in Plano, Texas [Member]"
       }
      }
     },
     "localname": "OperatingLeaseForOfficeManufacturingAndWarehouseSpaceInPlanoTexasMember",
     "nsuri": "http://http/20230430",
     "presentation": [
      "http://http/20230430/role/statement-note-7-leases",
      "http://http/20230430/role/statement-note-7-leases-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "occ_OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the operating lease agreement for warehouse space in Roanoke, Virginia.",
        "label": "Operating Lease for Warehouse Space in Roanoke, Virginia [Member]"
       }
      }
     },
     "localname": "OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember",
     "nsuri": "http://http/20230430",
     "presentation": [
      "http://http/20230430/role/statement-note-7-leases",
      "http://http/20230430/role/statement-note-7-leases-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "occ_PinnacleFinancialPartnersMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents Pinnacle financial partners, a lender to the reporting entity..",
        "label": "Pinnacle Financial Partners [Member]"
       }
      }
     },
     "localname": "PinnacleFinancialPartnersMember",
     "nsuri": "http://http/20230430",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "occ_Plan2017Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents 2017 stock incentive plan.",
        "label": "Plan 2017 [Member]"
       }
      }
     },
     "localname": "Plan2017Member",
     "nsuri": "http://http/20230430",
     "presentation": [
      "http://http/20230430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation",
      "http://http/20230430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "occ_RoyaltyRevenueExpense": {
     "auth_ref": [],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-operations-unaudited-": {
       "order": 3.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Net amount of revenue (expense) recognized during the period related to royalty transactions.",
        "label": "occ_RoyaltyRevenueExpense",
        "negatedLabel": "Royalty expense, net"
       }
      }
     },
     "localname": "RoyaltyRevenueExpense",
     "nsuri": "http://http/20230430",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-operations-unaudited-"
     ],
     "xbrltype": "monetaryItemType"
    },
    "occ_SummaryOfChangesInAllowanceForDoubtfulAccountsForTradeAccountsReceivableTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Summary Of Changes In The Allowance For Doubtful Accounts For Trade Accounts Receivable [Table Text Block]",
        "label": "Summary of Changes in the Allowance for Doubtful Accounts for Trade Accounts Receivable [Table Text Block]"
       }
      }
     },
     "localname": "SummaryOfChangesInAllowanceForDoubtfulAccountsForTradeAccountsReceivableTableTextBlock",
     "nsuri": "http://http/20230430",
     "presentation": [
      "http://http/20230430/role/statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "occ_VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Related to the Virginia real estate loan and the North Carolina real estate loan.",
        "label": "Virginia Real Estate Loan and North Carolina Real Estate Loan [Member]"
       }
      }
     },
     "localname": "VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember",
     "nsuri": "http://http/20230430",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "occ_VirginiaRealEstateLoanMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The name of a real estate loan.",
        "label": "Virginia Real Estate Loan [Member]"
       }
      }
     },
     "localname": "VirginiaRealEstateLoanMember",
     "nsuri": "http://http/20230430",
     "presentation": [
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details-parentheticals"
     ],
     "xbrltype": "domainItemType"
    },
    "occ_WaterDamageFromPipeBurstMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Relating to water damage from pipe burst.",
        "label": "Water Damage from Pipe Burst [Member]"
       }
      }
     },
     "localname": "WaterDamageFromPipeBurstMember",
     "nsuri": "http://http/20230430",
     "presentation": [
      "http://http/20230430/role/statement-note-12-restricted-cash-and-gain-on-insurance-proceeds",
      "http://http/20230430/role/statement-note-12-restricted-cash-and-gain-on-insurance-proceeds-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "occ_statement-statement-note-11-revenue-recognition-revenue-attributed-to-united-states-and-all-other-countries-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 11 - Revenue Recognition - Revenue Attributed to United States and All Other Countries (Details)"
       }
      }
     },
     "localname": "statement-statement-note-11-revenue-recognition-revenue-attributed-to-united-states-and-all-other-countries-details",
     "nsuri": "http://http/20230430",
     "xbrltype": "stringItemType"
    },
    "occ_statement-statement-note-11-revenue-recognition-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 11 - Revenue Recognition"
       }
      }
     },
     "localname": "statement-statement-note-11-revenue-recognition-tables",
     "nsuri": "http://http/20230430",
     "xbrltype": "stringItemType"
    },
    "occ_statement-statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable-summary-of-changes-in-the-allowance-for-doubtful-accounts-for-trade-accounts-receivable-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 3 - Allowance for Doubtful Accounts for Trade Accounts Receivable - Summary of Changes in the Allowance for Doubtful Accounts for Trade Accounts Receivable (Details)"
       }
      }
     },
     "localname": "statement-statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable-summary-of-changes-in-the-allowance-for-doubtful-accounts-for-trade-accounts-receivable-details",
     "nsuri": "http://http/20230430",
     "xbrltype": "stringItemType"
    },
    "occ_statement-statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 3 - Allowance for Doubtful Accounts for Trade Accounts Receivable"
       }
      }
     },
     "localname": "statement-statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable-tables",
     "nsuri": "http://http/20230430",
     "xbrltype": "stringItemType"
    },
    "occ_statement-statement-note-4-inventories-components-of-inventories-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 4 - Inventories - Components of Inventories (Details)"
       }
      }
     },
     "localname": "statement-statement-note-4-inventories-components-of-inventories-details",
     "nsuri": "http://http/20230430",
     "xbrltype": "stringItemType"
    },
    "occ_statement-statement-note-4-inventories-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 4 - Inventories"
       }
      }
     },
     "localname": "statement-statement-note-4-inventories-tables",
     "nsuri": "http://http/20230430",
     "xbrltype": "stringItemType"
    },
    "occ_statement-statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 5 - Product Warranties - Changes in Accrual for Product Warranties (Details)"
       }
      }
     },
     "localname": "statement-statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details",
     "nsuri": "http://http/20230430",
     "xbrltype": "stringItemType"
    },
    "occ_statement-statement-note-5-product-warranties-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 5 - Product Warranties"
       }
      }
     },
     "localname": "statement-statement-note-5-product-warranties-tables",
     "nsuri": "http://http/20230430",
     "xbrltype": "stringItemType"
    },
    "occ_statement-statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 6 - Long-term Debt and Notes Payable - Long-term Debt (Details)"
       }
      }
     },
     "localname": "statement-statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details",
     "nsuri": "http://http/20230430",
     "xbrltype": "stringItemType"
    },
    "occ_statement-statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details-parentheticals": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 6 - Long-term Debt and Notes Payable - Long-term Debt (Details) (Parentheticals)"
       }
      }
     },
     "localname": "statement-statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details-parentheticals",
     "nsuri": "http://http/20230430",
     "xbrltype": "stringItemType"
    },
    "occ_statement-statement-note-6-longterm-debt-and-notes-payable-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 6 - Long-term Debt and Notes Payable"
       }
      }
     },
     "localname": "statement-statement-note-6-longterm-debt-and-notes-payable-tables",
     "nsuri": "http://http/20230430",
     "xbrltype": "stringItemType"
    },
    "occ_statement-statement-note-7-leases-future-payments-due-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 7 - Leases - Future Payments Due (Details)"
       }
      }
     },
     "localname": "statement-statement-note-7-leases-future-payments-due-details",
     "nsuri": "http://http/20230430",
     "xbrltype": "stringItemType"
    },
    "occ_statement-statement-note-7-leases-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 7 - Leases"
       }
      }
     },
     "localname": "statement-statement-note-7-leases-tables",
     "nsuri": "http://http/20230430",
     "xbrltype": "stringItemType"
    },
    "occ_statement-statement-note-9-net-income-loss-per-share-components-of-reconciliation-of-numerators-and-denominators-net-loss-per-share-details": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 9 - Net Income (Loss) Per Share - Components of Reconciliation of Numerators and Denominators Net Loss Per Share (Details)"
       }
      }
     },
     "localname": "statement-statement-note-9-net-income-loss-per-share-components-of-reconciliation-of-numerators-and-denominators-net-loss-per-share-details",
     "nsuri": "http://http/20230430",
     "xbrltype": "stringItemType"
    },
    "occ_statement-statement-note-9-net-income-loss-per-share-tables": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 9 - Net Income (Loss) Per Share"
       }
      }
     },
     "localname": "statement-statement-note-9-net-income-loss-per-share-tables",
     "nsuri": "http://http/20230430",
     "xbrltype": "stringItemType"
    },
    "srt_MajorCustomersAxis": {
     "auth_ref": [
      "r172",
      "r459",
      "r502",
      "r549",
      "r550"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Axis]"
       }
      }
     },
     "localname": "MajorCustomersAxis",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-10-segment-information-and-business-and-credit-concentrations",
      "http://http/20230430/role/statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_MaximumMember": {
     "auth_ref": [
      "r186",
      "r187",
      "r188",
      "r189",
      "r234",
      "r326",
      "r346",
      "r367",
      "r368",
      "r419",
      "r421",
      "r423",
      "r424",
      "r426",
      "r441",
      "r442",
      "r453",
      "r457",
      "r460",
      "r464",
      "r500",
      "r540",
      "r541",
      "r542",
      "r543",
      "r544",
      "r545"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum [Member]"
       }
      }
     },
     "localname": "MaximumMember",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_NameOfMajorCustomerDomain": {
     "auth_ref": [
      "r172",
      "r459",
      "r502",
      "r549",
      "r550"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Domain]"
       }
      }
     },
     "localname": "NameOfMajorCustomerDomain",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-10-segment-information-and-business-and-credit-concentrations",
      "http://http/20230430/role/statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RangeAxis": {
     "auth_ref": [
      "r186",
      "r187",
      "r188",
      "r189",
      "r233",
      "r234",
      "r259",
      "r260",
      "r261",
      "r325",
      "r326",
      "r346",
      "r367",
      "r368",
      "r419",
      "r421",
      "r423",
      "r424",
      "r426",
      "r441",
      "r442",
      "r453",
      "r457",
      "r460",
      "r464",
      "r467",
      "r495",
      "r500",
      "r541",
      "r542",
      "r543",
      "r544",
      "r545"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Axis]"
       }
      }
     },
     "localname": "RangeAxis",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_RangeMember": {
     "auth_ref": [
      "r186",
      "r187",
      "r188",
      "r189",
      "r233",
      "r234",
      "r259",
      "r260",
      "r261",
      "r325",
      "r326",
      "r346",
      "r367",
      "r368",
      "r419",
      "r421",
      "r423",
      "r424",
      "r426",
      "r441",
      "r442",
      "r453",
      "r457",
      "r460",
      "r464",
      "r467",
      "r495",
      "r500",
      "r541",
      "r542",
      "r543",
      "r544",
      "r545"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Domain]"
       }
      }
     },
     "localname": "RangeMember",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_SegmentGeographicalDomain": {
     "auth_ref": [
      "r170",
      "r171",
      "r364",
      "r365",
      "r366",
      "r420",
      "r422",
      "r425",
      "r427",
      "r432",
      "r433",
      "r434",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r440",
      "r443",
      "r458",
      "r467",
      "r502",
      "r549"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Domain]"
       }
      }
     },
     "localname": "SegmentGeographicalDomain",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-11-revenue-recognition",
      "http://http/20230430/role/statement-note-11-revenue-recognition-revenue-attributed-to-united-states-and-all-other-countries-details"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_StatementGeographicalAxis": {
     "auth_ref": [
      "r170",
      "r171",
      "r364",
      "r365",
      "r366",
      "r420",
      "r422",
      "r425",
      "r427",
      "r429",
      "r432",
      "r433",
      "r434",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r440",
      "r443",
      "r458",
      "r467",
      "r502",
      "r549"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]"
       }
      }
     },
     "localname": "StatementGeographicalAxis",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-11-revenue-recognition",
      "http://http/20230430/role/statement-note-11-revenue-recognition-revenue-attributed-to-united-states-and-all-other-countries-details"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_TitleOfIndividualAxis": {
     "auth_ref": [
      "r493",
      "r537"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of Individual [Axis]"
       }
      }
     },
     "localname": "TitleOfIndividualAxis",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation",
      "http://http/20230430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_TitleOfIndividualWithRelationshipToEntityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of Individual [Domain]"
       }
      }
     },
     "localname": "TitleOfIndividualWithRelationshipToEntityDomain",
     "nsuri": "http://fasb.org/srt/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation",
      "http://http/20230430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent": {
     "auth_ref": [
      "r11"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Accounts payable and accrued expenses"
       }
      }
     },
     "localname": "AccountsPayableAndAccruedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsPayableAndAccruedLiabilitiesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing accounts payable and accrued liabilities.",
        "label": "Accounts Payable and Accrued Liabilities [Member]"
       }
      }
     },
     "localname": "AccountsPayableAndAccruedLiabilitiesMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-5-product-warranties",
      "http://http/20230430/role/statement-note-5-product-warranties-details-textual",
      "http://http/20230430/role/statement-note-7-leases",
      "http://http/20230430/role/statement-note-7-leases-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "auth_ref": [
      "r173",
      "r174"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.",
        "label": "Trade accounts receivable, net of allowance for doubtful accounts of $84,602 at April 30, 2023 and $69,643 at October 31, 2022"
       }
      }
     },
     "localname": "AccountsReceivableNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to reconcile net income (loss) to net cash used in operating activities:"
       }
      }
     },
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "auth_ref": [
      "r263",
      "r271"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.",
        "label": "us-gaap_AllocatedShareBasedCompensationExpense",
        "terseLabel": "Share-Based Payment Arrangement, Expense"
       }
      }
     },
     "localname": "AllocatedShareBasedCompensationExpense",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "auth_ref": [
      "r109",
      "r175",
      "r181"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.",
        "label": "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent",
        "periodEndLabel": "Balance at end of period",
        "periodStartLabel": "Balance at beginning of period",
        "terseLabel": "Accounts Receivable, Allowance for Credit Loss, Current"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited-parentheticals",
      "http://http/20230430/role/statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable-summary-of-changes-in-the-allowance-for-doubtful-accounts-for-trade-accounts-receivable-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "auth_ref": [
      "r4",
      "r31",
      "r33"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-operations-unaudited-": {
       "order": 0.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.",
        "label": "Amortization of intangible assets"
       }
      }
     },
     "localname": "AmortizationOfIntangibleAssets",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-operations-unaudited-"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "auth_ref": [
      "r150"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.",
        "label": "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
        "terseLabel": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-9-net-income-loss-per-share-details-textual"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_AreaOfRealEstateProperty": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Area of a real estate property.",
        "label": "us-gaap_AreaOfRealEstateProperty",
        "terseLabel": "Area of Real Estate Property (Square Foot)"
       }
      }
     },
     "localname": "AreaOfRealEstateProperty",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-7-leases-details-textual"
     ],
     "xbrltype": "areaItemType"
    },
    "us-gaap_Assets": {
     "auth_ref": [
      "r83",
      "r105",
      "r123",
      "r155",
      "r163",
      "r167",
      "r176",
      "r203",
      "r204",
      "r205",
      "r206",
      "r207",
      "r208",
      "r209",
      "r210",
      "r211",
      "r279",
      "r281",
      "r298",
      "r335",
      "r390",
      "r463",
      "r475",
      "r498",
      "r499",
      "r538"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "us-gaap_Assets",
        "totalLabel": "Total assets"
       }
      }
     },
     "localname": "Assets",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsCurrent": {
     "auth_ref": [
      "r101",
      "r111",
      "r123",
      "r176",
      "r203",
      "r204",
      "r205",
      "r206",
      "r207",
      "r208",
      "r209",
      "r210",
      "r211",
      "r279",
      "r281",
      "r298",
      "r463",
      "r498",
      "r499",
      "r538"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "order": 3.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "us-gaap_AssetsCurrent",
        "totalLabel": "Total current assets"
       }
      }
     },
     "localname": "AssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current assets:"
       }
      }
     },
     "localname": "AssetsCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AwardTypeAxis": {
     "auth_ref": [
      "r237",
      "r238",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r248",
      "r249",
      "r250",
      "r251",
      "r252",
      "r253",
      "r254",
      "r255",
      "r256",
      "r257",
      "r258",
      "r259",
      "r260",
      "r261",
      "r262"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of award under share-based payment arrangement.",
        "label": "Award Type [Axis]"
       }
      }
     },
     "localname": "AwardTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation",
      "http://http/20230430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BalanceSheetLocationAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by location on balance sheet (statement of financial position).",
        "label": "Balance Sheet Location [Axis]"
       }
      }
     },
     "localname": "BalanceSheetLocationAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-5-product-warranties",
      "http://http/20230430/role/statement-note-5-product-warranties-details-textual",
      "http://http/20230430/role/statement-note-7-leases",
      "http://http/20230430/role/statement-note-7-leases-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BalanceSheetLocationDomain": {
     "auth_ref": [
      "r42",
      "r43"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Location in the balance sheet (statement of financial position).",
        "label": "Balance Sheet Location [Domain]"
       }
      }
     },
     "localname": "BalanceSheetLocationDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-5-product-warranties",
      "http://http/20230430/role/statement-note-5-product-warranties-details-textual",
      "http://http/20230430/role/statement-note-7-leases",
      "http://http/20230430/role/statement-note-7-leases-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r24",
      "r103",
      "r444"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.",
        "label": "Cash"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": {
     "auth_ref": [
      "r24",
      "r73",
      "r122"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
        "periodEndLabel": "Cash at end of period",
        "periodStartLabel": "Cash at beginning of period"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "auth_ref": [
      "r1",
      "r73"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
        "totalLabel": "Net increase (decrease) in cash"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CommitmentsAndContingencies": {
     "auth_ref": [
      "r18",
      "r51",
      "r336",
      "r376"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.",
        "label": "Commitments and Contingencies"
       }
      }
     },
     "localname": "CommitmentsAndContingencies",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "auth_ref": [
      "r79",
      "r184",
      "r185",
      "r431",
      "r496"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for commitments and contingencies.",
        "label": "Commitments and Contingencies Disclosure [Text Block]"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-13-contingencies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CommonStockMember": {
     "auth_ref": [
      "r465",
      "r466",
      "r467",
      "r469",
      "r470",
      "r471",
      "r472",
      "r490",
      "r491",
      "r530",
      "r551",
      "r553"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock that is subordinate to all other stock of the issuer.",
        "label": "Common Stock [Member]"
       }
      }
     },
     "localname": "CommonStockMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-shareholders-equity-unaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockNoParValue": {
     "auth_ref": [
      "r55"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount per share of no-par value common stock.",
        "label": "us-gaap_CommonStockNoParValue",
        "terseLabel": "Common Stock, No Par Value (in dollars per share)"
       }
      }
     },
     "localname": "CommonStockNoParValue",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited-parentheticals"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "auth_ref": [
      "r55",
      "r377"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.",
        "label": "us-gaap_CommonStockSharesAuthorized",
        "terseLabel": "Common Stock, Shares Authorized (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited-parentheticals"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesIssued": {
     "auth_ref": [
      "r55"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.",
        "label": "us-gaap_CommonStockSharesIssued",
        "terseLabel": "Common Stock, Shares, Issued (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited-parentheticals"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "auth_ref": [
      "r6",
      "r55",
      "r377",
      "r396",
      "r553",
      "r554"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.",
        "label": "us-gaap_CommonStockSharesOutstanding",
        "terseLabel": "Common Stock, Shares, Outstanding, Ending Balance (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited-parentheticals"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockValue": {
     "auth_ref": [
      "r55",
      "r338",
      "r463"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.",
        "label": "Common stock, no par value, authorized 50,000,000 shares; issued and outstanding 7,865,121 shares at April 30, 2023 and 7,893,194 shares at October 31, 2022"
       }
      }
     },
     "localname": "CommonStockValue",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "auth_ref": [
      "r26",
      "r28",
      "r45",
      "r46",
      "r172",
      "r430"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage.",
        "label": "Concentration Risk Benchmark [Domain]"
       }
      }
     },
     "localname": "ConcentrationRiskBenchmarkDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-10-segment-information-and-business-and-credit-concentrations",
      "http://http/20230430/role/statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "auth_ref": [
      "r26",
      "r28",
      "r45",
      "r46",
      "r172",
      "r355",
      "r430"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by benchmark of concentration risk.",
        "label": "Concentration Risk Benchmark [Axis]"
       }
      }
     },
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-10-segment-information-and-business-and-credit-concentrations",
      "http://http/20230430/role/statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "auth_ref": [
      "r26",
      "r28",
      "r45",
      "r46",
      "r172",
      "r430",
      "r483"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender.",
        "label": "Concentration Risk Type [Axis]"
       }
      }
     },
     "localname": "ConcentrationRiskByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-10-segment-information-and-business-and-credit-concentrations",
      "http://http/20230430/role/statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskDisclosureTextBlock": {
     "auth_ref": [
      "r76"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for any concentrations existing at the date of the financial statements that make an entity vulnerable to a reasonably possible, near-term, severe impact. This disclosure informs financial statement users about the general nature of the risk associated with the concentration, and may indicate the percentage of concentration risk as of the balance sheet date.",
        "label": "Concentration Risk Disclosure [Text Block]"
       }
      }
     },
     "localname": "ConcentrationRiskDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-10-segment-information-and-business-and-credit-concentrations"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "auth_ref": [
      "r26",
      "r28",
      "r45",
      "r46",
      "r172"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.",
        "label": "us-gaap_ConcentrationRiskPercentage1",
        "terseLabel": "Concentration Risk, Percentage"
       }
      }
     },
     "localname": "ConcentrationRiskPercentage1",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "auth_ref": [
      "r26",
      "r28",
      "r45",
      "r46",
      "r172",
      "r430"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration.",
        "label": "Concentration Risk Type [Domain]"
       }
      }
     },
     "localname": "ConcentrationRiskTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-10-segment-information-and-business-and-credit-concentrations",
      "http://http/20230430/role/statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ContractWithCustomerLiability": {
     "auth_ref": [
      "r219",
      "r220",
      "r231"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.",
        "label": "us-gaap_ContractWithCustomerLiability",
        "terseLabel": "Contract with Customer, Liability, Total"
       }
      }
     },
     "localname": "ContractWithCustomerLiability",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-11-revenue-recognition-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerRefundLiability": {
     "auth_ref": [
      "r503"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "us-gaap_ContractWithCustomerRefundLiability",
        "terseLabel": "Contract with Customer, Refund Liability, Total"
       }
      }
     },
     "localname": "ContractWithCustomerRefundLiability",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-11-revenue-recognition-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "auth_ref": [
      "r66",
      "r327"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-operations-unaudited-": {
       "order": 0.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Cost of goods sold"
       }
      }
     },
     "localname": "CostOfGoodsAndServicesSold",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-operations-unaudited-"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CreditFacilityAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.",
        "label": "Credit Facility [Axis]"
       }
      }
     },
     "localname": "CreditFacilityAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CreditFacilityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.",
        "label": "Credit Facility [Domain]"
       }
      }
     },
     "localname": "CreditFacilityDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CustomerConcentrationRiskMember": {
     "auth_ref": [
      "r27",
      "r172"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer.",
        "label": "Customer Concentration Risk [Member]"
       }
      }
     },
     "localname": "CustomerConcentrationRiskMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-10-segment-information-and-business-and-credit-concentrations",
      "http://http/20230430/role/statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument.",
        "label": "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1",
        "terseLabel": "Debt Instrument, Basis Spread on Variable Rate"
       }
      }
     },
     "localname": "DebtInstrumentBasisSpreadOnVariableRate1",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentFaceAmount": {
     "auth_ref": [
      "r47",
      "r49",
      "r212",
      "r309",
      "r455",
      "r456"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face (par) amount of debt instrument at time of issuance.",
        "label": "Debt Instrument, Face Amount"
       }
      }
     },
     "localname": "DebtInstrumentFaceAmount",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details-parentheticals"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentInterestRateEffectivePercentage": {
     "auth_ref": [
      "r15",
      "r47",
      "r216",
      "r309"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Effective interest rate for the funds borrowed under the debt agreement considering interest compounding and original issue discount or premium.",
        "label": "us-gaap_DebtInstrumentInterestRateEffectivePercentage",
        "terseLabel": "Debt Instrument, Interest Rate, Effective Percentage"
       }
      }
     },
     "localname": "DebtInstrumentInterestRateEffectivePercentage",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentInterestRateStatedPercentage": {
     "auth_ref": [
      "r15",
      "r213"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contractual interest rate for funds borrowed, under the debt agreement.",
        "label": "us-gaap_DebtInstrumentInterestRateStatedPercentage",
        "terseLabel": "Debt Instrument, Interest Rate, Stated Percentage"
       }
      }
     },
     "localname": "DebtInstrumentInterestRateStatedPercentage",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details-parentheticals"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentMaturityDate": {
     "auth_ref": [
      "r94",
      "r454",
      "r531"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Date when the debt instrument is scheduled to be fully repaid, in YYYY-MM-DD format.",
        "label": "us-gaap_DebtInstrumentMaturityDate",
        "terseLabel": "Debt Instrument, Maturity Date"
       }
      }
     },
     "localname": "DebtInstrumentMaturityDate",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details-parentheticals"
     ],
     "xbrltype": "dateItemType"
    },
    "us-gaap_DebtInstrumentPeriodicPayment": {
     "auth_ref": [
      "r16",
      "r52"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the required periodic payments including both interest and principal payments.",
        "label": "us-gaap_DebtInstrumentPeriodicPayment",
        "terseLabel": "Debt Instrument, Periodic Payment"
       }
      }
     },
     "localname": "DebtInstrumentPeriodicPayment",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details-parentheticals"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentPeriodicPaymentTermsBalloonPaymentToBePaid": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of payment greater than the preceding installment payments to be paid at final maturity date of debt.",
        "label": "us-gaap_DebtInstrumentPeriodicPaymentTermsBalloonPaymentToBePaid",
        "terseLabel": "Debt Instrument, Periodic Payment Terms, Balloon Payment to be Paid"
       }
      }
     },
     "localname": "DebtInstrumentPeriodicPaymentTermsBalloonPaymentToBePaid",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details-parentheticals"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DepreciationDepletionAndAmortization": {
     "auth_ref": [
      "r4",
      "r159"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Depreciation and amortization"
       }
      }
     },
     "localname": "DepreciationDepletionAndAmortization",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "auth_ref": [
      "r235",
      "r236",
      "r264",
      "r265",
      "r267",
      "r461"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for share-based payment arrangement.",
        "label": "Share-Based Payment Arrangement [Text Block]"
       }
      }
     },
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DisclosureTextBlockAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_DisclosureTextBlockAbstract",
        "terseLabel": "Notes to Financial Statements"
       }
      }
     },
     "localname": "DisclosureTextBlockAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-1-general",
      "http://http/20230430/role/statement-note-10-segment-information-and-business-and-credit-concentrations",
      "http://http/20230430/role/statement-note-11-revenue-recognition",
      "http://http/20230430/role/statement-note-12-restricted-cash-and-gain-on-insurance-proceeds",
      "http://http/20230430/role/statement-note-13-contingencies",
      "http://http/20230430/role/statement-note-14-new-accounting-standards-not-yet-adopted",
      "http://http/20230430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation",
      "http://http/20230430/role/statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable",
      "http://http/20230430/role/statement-note-4-inventories",
      "http://http/20230430/role/statement-note-5-product-warranties",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-",
      "http://http/20230430/role/statement-note-7-leases",
      "http://http/20230430/role/statement-note-8-fair-value-measurements",
      "http://http/20230430/role/statement-note-9-net-income-loss-per-share"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareBasic": {
     "auth_ref": [
      "r118",
      "r133",
      "r134",
      "r135",
      "r136",
      "r137",
      "r144",
      "r145",
      "r147",
      "r148",
      "r149",
      "r153",
      "r292",
      "r293",
      "r332",
      "r344",
      "r450"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.",
        "label": "Net income (loss) per share: Basic and diluted (in dollars per share)"
       }
      }
     },
     "localname": "EarningsPerShareBasic",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-operations-unaudited-",
      "http://http/20230430/role/statement-note-9-net-income-loss-per-share-components-of-reconciliation-of-numerators-and-denominators-net-loss-per-share-details"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "auth_ref": [
      "r143",
      "r150",
      "r151",
      "r152"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for earnings per share.",
        "label": "Earnings Per Share [Text Block]"
       }
      }
     },
     "localname": "EarningsPerShareTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-9-net-income-loss-per-share"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EmployeeRelatedLiabilitiesCurrent": {
     "auth_ref": [
      "r13"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "order": 3.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Accrued compensation and payroll taxes"
       }
      }
     },
     "localname": "EmployeeRelatedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": {
     "auth_ref": [
      "r266"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement.",
        "label": "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
        "terseLabel": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "auth_ref": [
      "r266"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
        "terseLabel": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year)"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_EquityComponentDomain": {
     "auth_ref": [
      "r6",
      "r97",
      "r114",
      "r115",
      "r116",
      "r124",
      "r125",
      "r126",
      "r130",
      "r138",
      "r140",
      "r154",
      "r177",
      "r180",
      "r218",
      "r268",
      "r269",
      "r270",
      "r273",
      "r274",
      "r283",
      "r284",
      "r285",
      "r286",
      "r287",
      "r289",
      "r291",
      "r302",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r323",
      "r347",
      "r348",
      "r349",
      "r362",
      "r416"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc.",
        "label": "Equity Component [Domain]"
       }
      }
     },
     "localname": "EquityComponentDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-shareholders-equity-unaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueDisclosuresTextBlock": {
     "auth_ref": [
      "r297"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Fair Value Disclosures [Text Block]"
       }
      }
     },
     "localname": "FairValueDisclosuresTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-8-fair-value-measurements"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FinanceLeaseInterestExpense": {
     "auth_ref": [
      "r314",
      "r317",
      "r462"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of interest expense on finance lease liability.",
        "label": "us-gaap_FinanceLeaseInterestExpense",
        "terseLabel": "Finance Lease, Interest Expense"
       }
      }
     },
     "localname": "FinanceLeaseInterestExpense",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-7-leases-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiability": {
     "auth_ref": [
      "r313",
      "r322"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease.",
        "label": "Total lease liability, finance lease"
       }
      }
     },
     "localname": "FinanceLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-7-leases-future-payments-due-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityCurrent": {
     "auth_ref": [
      "r313"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as current.",
        "label": "us-gaap_FinanceLeaseLiabilityCurrent",
        "terseLabel": "Finance Lease, Liability, Current"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-7-leases-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityNoncurrent": {
     "auth_ref": [
      "r313"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as noncurrent.",
        "label": "us-gaap_FinanceLeaseLiabilityNoncurrent",
        "terseLabel": "Finance Lease, Liability, Noncurrent"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-7-leases-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDue": {
     "auth_ref": [
      "r322"
     ],
     "calculation": {
      "http://http/20230430/role/statement-note-7-leases-future-payments-due-details": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease.",
        "label": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
        "totalLabel": "Total undiscounted lease payments, finance lease"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDue",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-7-leases-future-payments-due-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "auth_ref": [
      "r322"
     ],
     "calculation": {
      "http://http/20230430/role/statement-note-7-leases-future-payments-due-details": {
       "order": 0.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths",
        "terseLabel": "2023, finance lease"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-7-leases-future-payments-due-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour": {
     "auth_ref": [
      "r322"
     ],
     "calculation": {
      "http://http/20230430/role/statement-note-7-leases-future-payments-due-details": {
       "order": 3.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour",
        "terseLabel": "2026, finance lease"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueYearFour",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-7-leases-future-payments-due-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree": {
     "auth_ref": [
      "r322"
     ],
     "calculation": {
      "http://http/20230430/role/statement-note-7-leases-future-payments-due-details": {
       "order": 2.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree",
        "terseLabel": "2025, finance lease"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueYearThree",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-7-leases-future-payments-due-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo": {
     "auth_ref": [
      "r322"
     ],
     "calculation": {
      "http://http/20230430/role/statement-note-7-leases-future-payments-due-details": {
       "order": 1.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo",
        "terseLabel": "2024, finance lease"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-7-leases-future-payments-due-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount": {
     "auth_ref": [
      "r322"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for finance lease.",
        "label": "us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount",
        "negatedLabel": "Present value discount, finance lease"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityUndiscountedExcessAmount",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-7-leases-future-payments-due-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeasePrincipalPayments": {
     "auth_ref": [
      "r315",
      "r318"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow for principal payment on finance lease.",
        "label": "us-gaap_FinanceLeasePrincipalPayments",
        "negatedTerseLabel": "Principal payments on finance lease",
        "terseLabel": "Finance Lease, Principal Payments"
       }
      }
     },
     "localname": "FinanceLeasePrincipalPayments",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited",
      "http://http/20230430/role/statement-note-7-leases-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseRightOfUseAsset": {
     "auth_ref": [
      "r312"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after accumulated amortization, of right-of-use asset from finance lease.",
        "label": "us-gaap_FinanceLeaseRightOfUseAsset",
        "terseLabel": "Finance Lease, Right-of-Use Asset, after Accumulated Amortization, Total"
       }
      }
     },
     "localname": "FinanceLeaseRightOfUseAsset",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-7-leases-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseRightOfUseAssetAmortization": {
     "auth_ref": [
      "r314",
      "r317",
      "r462"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization expense attributable to right-of-use asset from finance lease.",
        "label": "us-gaap_FinanceLeaseRightOfUseAssetAmortization",
        "terseLabel": "Finance Lease, Right-of-Use Asset, Amortization"
       }
      }
     },
     "localname": "FinanceLeaseRightOfUseAssetAmortization",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-7-leases-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": {
     "auth_ref": [
      "r4"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 9.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.",
        "label": "us-gaap_GainLossOnSaleOfPropertyPlantEquipment",
        "negatedLabel": "Loss on sale of property and equipment"
       }
      }
     },
     "localname": "GainLossOnSaleOfPropertyPlantEquipment",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GrossProfit": {
     "auth_ref": [
      "r65",
      "r123",
      "r155",
      "r162",
      "r166",
      "r168",
      "r176",
      "r203",
      "r204",
      "r205",
      "r206",
      "r207",
      "r208",
      "r209",
      "r210",
      "r211",
      "r298",
      "r452",
      "r498"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-operations-unaudited-": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.",
        "label": "us-gaap_GrossProfit",
        "totalLabel": "Gross profit"
       }
      }
     },
     "localname": "GrossProfit",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-operations-unaudited-"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "auth_ref": [
      "r0",
      "r63",
      "r86",
      "r155",
      "r162",
      "r166",
      "r168",
      "r333",
      "r342",
      "r452"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-operations-unaudited-": {
       "order": 0.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.",
        "label": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
        "totalLabel": "Income (loss) before income taxes"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-operations-unaudited-"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeStatementAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement [Abstract]"
       }
      }
     },
     "localname": "IncomeStatementAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r89",
      "r93",
      "r139",
      "r140",
      "r160",
      "r272",
      "r278",
      "r345"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-operations-unaudited-": {
       "order": 1.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "us-gaap_IncomeTaxExpenseBenefit",
        "terseLabel": "Income tax expense"
       }
      }
     },
     "localname": "IncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-operations-unaudited-"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities": {
     "auth_ref": [
      "r3"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the amounts payable to vendors for goods and services received and the amount of obligations and expenses incurred but not paid.",
        "label": "us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities",
        "terseLabel": "Accounts payable and accrued expenses"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsPayableAndAccruedLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "auth_ref": [
      "r3"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 10.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.",
        "label": "us-gaap_IncreaseDecreaseInAccountsReceivable",
        "negatedTerseLabel": "Trade accounts receivable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable": {
     "auth_ref": [
      "r3"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable",
        "terseLabel": "Income taxes payable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccruedIncomeTaxesPayable",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities": {
     "auth_ref": [
      "r3"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities",
        "terseLabel": "Accrued compensation and payroll taxes"
       }
      }
     },
     "localname": "IncreaseDecreaseInEmployeeRelatedLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "auth_ref": [
      "r3"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 12.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "us-gaap_IncreaseDecreaseInInventories",
        "negatedTerseLabel": "Inventories"
       }
      }
     },
     "localname": "IncreaseDecreaseInInventories",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOperatingAssetsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "(Increase) decrease in:"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingAssetsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (decrease) in:"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingLiabilitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities": {
     "auth_ref": [],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in noncurrent operating liabilities classified as other.",
        "label": "us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities",
        "terseLabel": "Other noncurrent liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherNoncurrentLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingAssets": {
     "auth_ref": [
      "r3"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 14.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in operating assets classified as other.",
        "label": "us-gaap_IncreaseDecreaseInOtherOperatingAssets",
        "negatedLabel": "Other assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherOperatingAssets",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherReceivables": {
     "auth_ref": [
      "r3"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 11.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in receivables classified as other.",
        "label": "us-gaap_IncreaseDecreaseInOtherReceivables",
        "negatedTerseLabel": "Other receivables"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherReceivables",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "auth_ref": [
      "r3"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 13.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other.",
        "label": "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
        "negatedLabel": "Prepaid expenses and other assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwill": {
     "auth_ref": [
      "r30",
      "r32"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.",
        "label": "Intangible assets, net"
       }
      }
     },
     "localname": "IntangibleAssetsNetExcludingGoodwill",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestExpense": {
     "auth_ref": [
      "r48",
      "r88",
      "r117",
      "r158",
      "r308",
      "r401",
      "r473",
      "r552"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-operations-unaudited-": {
       "order": 1.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the cost of borrowed funds accounted for as interest expense.",
        "label": "us-gaap_InterestExpense",
        "negatedLabel": "Interest expense, net"
       }
      }
     },
     "localname": "InterestExpense",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-operations-unaudited-"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryDisclosureTextBlock": {
     "auth_ref": [
      "r183"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Inventory Disclosure [Text Block]"
       }
      }
     },
     "localname": "InventoryDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-4-inventories"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InventoryFinishedGoodsNetOfReserves": {
     "auth_ref": [
      "r78",
      "r446"
     ],
     "calculation": {
      "http://http/20230430/role/statement-note-4-inventories-components-of-inventories-details": {
       "order": 0.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Finished goods"
       }
      }
     },
     "localname": "InventoryFinishedGoodsNetOfReserves",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-4-inventories-components-of-inventories-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryNet": {
     "auth_ref": [
      "r110",
      "r445",
      "r463"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "order": 4.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      },
      "http://http/20230430/role/statement-note-4-inventories-components-of-inventories-details": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.",
        "label": "Inventories",
        "totalLabel": "Total"
       }
      }
     },
     "localname": "InventoryNet",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited",
      "http://http/20230430/role/statement-note-4-inventories-components-of-inventories-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryRawMaterialsNetOfReserves": {
     "auth_ref": [
      "r78",
      "r448"
     ],
     "calculation": {
      "http://http/20230430/role/statement-note-4-inventories-components-of-inventories-details": {
       "order": 2.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Raw materials"
       }
      }
     },
     "localname": "InventoryRawMaterialsNetOfReserves",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-4-inventories-components-of-inventories-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventorySuppliesNetOfReserves": {
     "auth_ref": [
      "r29",
      "r449"
     ],
     "calculation": {
      "http://http/20230430/role/statement-note-4-inventories-components-of-inventories-details": {
       "order": 3.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Production supplies"
       }
      }
     },
     "localname": "InventorySuppliesNetOfReserves",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-4-inventories-components-of-inventories-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryWorkInProcessNetOfReserves": {
     "auth_ref": [
      "r78",
      "r447"
     ],
     "calculation": {
      "http://http/20230430/role/statement-note-4-inventories-components-of-inventories-details": {
       "order": 1.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Work in process"
       }
      }
     },
     "localname": "InventoryWorkInProcessNetOfReserves",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-4-inventories-components-of-inventories-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LeaseContractualTermAxis": {
     "auth_ref": [
      "r484"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by contractual term of lease arrangement.",
        "label": "Lease Contractual Term [Axis]"
       }
      }
     },
     "localname": "LeaseContractualTermAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-7-leases",
      "http://http/20230430/role/statement-note-7-leases-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LeaseContractualTermDomain": {
     "auth_ref": [
      "r484"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contractual term of lease arrangement.",
        "label": "Lease Contractual Term [Domain]"
       }
      }
     },
     "localname": "LeaseContractualTermDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-7-leases",
      "http://http/20230430/role/statement-note-7-leases-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LesseeFinanceLeaseDiscountRate": {
     "auth_ref": [
      "r536"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Discount rate used by lessee to determine present value of finance lease payments.",
        "label": "us-gaap_LesseeFinanceLeaseDiscountRate",
        "terseLabel": "Lessee, Finance Lease, Discount Rate"
       }
      }
     },
     "localname": "LesseeFinanceLeaseDiscountRate",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-7-leases-details-textual"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_LesseeFinanceLeaseRemainingLeaseTerm": {
     "auth_ref": [
      "r534"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Remaining lease term of finance lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "us-gaap_LesseeFinanceLeaseRemainingLeaseTerm",
        "terseLabel": "Lessee, Finance Lease, Remaining Lease Term (Month)"
       }
      }
     },
     "localname": "LesseeFinanceLeaseRemainingLeaseTerm",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-7-leases-details-textual"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "auth_ref": [
      "r322"
     ],
     "calculation": {
      "http://http/20230430/role/statement-note-7-leases-future-payments-due-details": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease.",
        "label": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
        "totalLabel": "Total undiscounted lease payments, operating lease"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-7-leases-future-payments-due-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "auth_ref": [
      "r322"
     ],
     "calculation": {
      "http://http/20230430/role/statement-note-7-leases-future-payments-due-details": {
       "order": 0.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
        "terseLabel": "2023, operating lease"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-7-leases-future-payments-due-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": {
     "auth_ref": [
      "r322"
     ],
     "calculation": {
      "http://http/20230430/role/statement-note-7-leases-future-payments-due-details": {
       "order": 3.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
        "terseLabel": "2026, operating lease"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-7-leases-future-payments-due-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "auth_ref": [
      "r322"
     ],
     "calculation": {
      "http://http/20230430/role/statement-note-7-leases-future-payments-due-details": {
       "order": 2.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
        "terseLabel": "2025, operating lease"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-7-leases-future-payments-due-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "auth_ref": [
      "r322"
     ],
     "calculation": {
      "http://http/20230430/role/statement-note-7-leases-future-payments-due-details": {
       "order": 1.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
        "terseLabel": "2024, operating lease"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-7-leases-future-payments-due-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "auth_ref": [
      "r322"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.",
        "label": "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
        "negatedLabel": "Present value discount, operating lease"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-7-leases-future-payments-due-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseTermOfContract": {
     "auth_ref": [
      "r535"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Term of lessee's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "us-gaap_LesseeOperatingLeaseTermOfContract",
        "terseLabel": "Lessee, Operating Lease, Term of Contract"
       }
      }
     },
     "localname": "LesseeOperatingLeaseTermOfContract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-7-leases-details-textual"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_Liabilities": {
     "auth_ref": [
      "r12",
      "r123",
      "r176",
      "r203",
      "r204",
      "r205",
      "r206",
      "r207",
      "r208",
      "r209",
      "r210",
      "r211",
      "r280",
      "r281",
      "r282",
      "r298",
      "r375",
      "r451",
      "r475",
      "r498",
      "r538",
      "r539"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.",
        "label": "us-gaap_Liabilities",
        "totalLabel": "Total liabilities"
       }
      }
     },
     "localname": "Liabilities",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "auth_ref": [
      "r59",
      "r85",
      "r340",
      "r463",
      "r489",
      "r494",
      "r532"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.",
        "label": "us-gaap_LiabilitiesAndStockholdersEquity",
        "totalLabel": "Total liabilities and shareholders\u2019 equity"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesCurrent": {
     "auth_ref": [
      "r14",
      "r102",
      "r123",
      "r176",
      "r203",
      "r204",
      "r205",
      "r206",
      "r207",
      "r208",
      "r209",
      "r210",
      "r211",
      "r280",
      "r281",
      "r282",
      "r298",
      "r463",
      "r498",
      "r538",
      "r539"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.",
        "label": "us-gaap_LiabilitiesCurrent",
        "totalLabel": "Total current liabilities"
       }
      }
     },
     "localname": "LiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current liabilities:"
       }
      }
     },
     "localname": "LiabilitiesCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LineOfCredit": {
     "auth_ref": [
      "r8",
      "r84",
      "r547"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "us-gaap_LineOfCredit",
        "terseLabel": "Long-Term Line of Credit, Total"
       }
      }
     },
     "localname": "LineOfCredit",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditFacilityAxis": {
     "auth_ref": [
      "r10",
      "r488"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Lender Name [Axis]"
       }
      }
     },
     "localname": "LineOfCreditFacilityAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LineOfCreditFacilityLenderDomain": {
     "auth_ref": [
      "r10",
      "r488"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Line of Credit Facility, Lender [Domain]"
       }
      }
     },
     "localname": "LineOfCreditFacilityLenderDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "auth_ref": [
      "r10"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.",
        "label": "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity",
        "terseLabel": "Line of Credit Facility, Maximum Borrowing Capacity"
       }
      }
     },
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity": {
     "auth_ref": [
      "r10"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding).",
        "label": "us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity",
        "terseLabel": "Line of Credit Facility, Remaining Borrowing Capacity"
       }
      }
     },
     "localname": "LineOfCreditFacilityRemainingBorrowingCapacity",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LoansPayableCurrent": {
     "auth_ref": [
      "r13"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of portion of long-term loans payable due within one year or the operating cycle if longer.",
        "label": "Current installments of long-term debt"
       }
      }
     },
     "localname": "LoansPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebt": {
     "auth_ref": [
      "r8",
      "r84",
      "r214",
      "r215",
      "r455",
      "r456",
      "r547"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation.",
        "label": "Total long-term debt"
       }
      }
     },
     "localname": "LongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtCurrent": {
     "auth_ref": [
      "r106"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as current. Excludes lease obligation.",
        "label": "Less current installments"
       }
      }
     },
     "localname": "LongTermDebtCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtNoncurrent": {
     "auth_ref": [
      "r107"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation.",
        "label": "us-gaap_LongTermDebtNoncurrent",
        "terseLabel": "Long-term debt, excluding current installments"
       }
      }
     },
     "localname": "LongTermDebtNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtTextBlock": {
     "auth_ref": [
      "r80"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for long-term debt.",
        "label": "Long-Term Debt [Text Block]"
       }
      }
     },
     "localname": "LongTermDebtTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LongTermLineOfCredit": {
     "auth_ref": [
      "r16",
      "r34",
      "r35"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Note payable, revolver - noncurrent"
       }
      }
     },
     "localname": "LongTermLineOfCredit",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermLoansPayable": {
     "auth_ref": [
      "r16"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Long-term debt, excluding current installments"
       }
      }
     },
     "localname": "LongTermLoansPayable",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongtermDebtTypeAxis": {
     "auth_ref": [
      "r16"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of long-term debt.",
        "label": "Long-Term Debt, Type [Axis]"
       }
      }
     },
     "localname": "LongtermDebtTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details-parentheticals"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LongtermDebtTypeDomain": {
     "auth_ref": [
      "r16",
      "r36"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Long-Term Debt, Type [Domain]"
       }
      }
     },
     "localname": "LongtermDebtTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details-parentheticals"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "auth_ref": [
      "r121"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.",
        "label": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
        "totalLabel": "Net cash provided by financing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from financing activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "auth_ref": [
      "r121"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.",
        "label": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
        "totalLabel": "Net cash provided by (used in) investing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from investing activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "auth_ref": [
      "r73",
      "r74",
      "r75"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.",
        "label": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
        "totalLabel": "Net cash used in operating activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from operating activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetIncomeLoss": {
     "auth_ref": [
      "r64",
      "r75",
      "r87",
      "r100",
      "r112",
      "r113",
      "r116",
      "r123",
      "r129",
      "r133",
      "r134",
      "r135",
      "r136",
      "r139",
      "r140",
      "r146",
      "r155",
      "r162",
      "r166",
      "r168",
      "r176",
      "r203",
      "r204",
      "r205",
      "r206",
      "r207",
      "r208",
      "r209",
      "r210",
      "r211",
      "r293",
      "r298",
      "r343",
      "r398",
      "r414",
      "r415",
      "r452",
      "r473",
      "r498"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-operations-unaudited-": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.",
        "label": "Net income (loss)",
        "terseLabel": "Net income (loss)",
        "totalLabel": "Net income (loss)"
       }
      }
     },
     "localname": "NetIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited",
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-operations-unaudited-",
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-shareholders-equity-unaudited",
      "http://http/20230430/role/statement-note-9-net-income-loss-per-share-components-of-reconciliation-of-numerators-and-denominators-net-loss-per-share-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock": {
     "auth_ref": [
      "r91",
      "r92",
      "r95",
      "r99",
      "r127",
      "r128",
      "r131",
      "r132",
      "r141",
      "r142",
      "r178",
      "r179",
      "r275",
      "r276",
      "r277",
      "r288",
      "r290",
      "r294",
      "r295",
      "r296",
      "r299",
      "r300",
      "r301",
      "r310",
      "r311",
      "r324",
      "r328",
      "r329",
      "r330",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Accounting Standards Update and Change in Accounting Principle [Text Block]"
       }
      }
     },
     "localname": "NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-14-new-accounting-standards-not-yet-adopted"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NonUsMember": {
     "auth_ref": [
      "r555",
      "r556",
      "r557",
      "r558"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Countries excluding the United States of America (US).",
        "label": "Non-US [Member]"
       }
      }
     },
     "localname": "NonUsMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-11-revenue-recognition",
      "http://http/20230430/role/statement-note-11-revenue-recognition-revenue-attributed-to-united-states-and-all-other-countries-details"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NonoperatingIncomeExpense": {
     "auth_ref": [
      "r68"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-operations-unaudited-": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "us-gaap_NonoperatingIncomeExpense",
        "totalLabel": "Other expense, net"
       }
      }
     },
     "localname": "NonoperatingIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-operations-unaudited-"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingIncomeLoss": {
     "auth_ref": [
      "r155",
      "r162",
      "r166",
      "r168",
      "r452"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-operations-unaudited-": {
       "order": 0.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net result for the period of deducting operating expenses from operating revenues.",
        "label": "us-gaap_OperatingIncomeLoss",
        "totalLabel": "Income (loss) from operations"
       }
      }
     },
     "localname": "OperatingIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-operations-unaudited-"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseExpense": {
     "auth_ref": [
      "r533"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of operating lease expense. Excludes sublease income.",
        "label": "us-gaap_OperatingLeaseExpense",
        "terseLabel": "Operating Lease, Expense"
       }
      }
     },
     "localname": "OperatingLeaseExpense",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-7-leases-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiability": {
     "auth_ref": [
      "r313"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.",
        "label": "Total lease liability, operating lease"
       }
      }
     },
     "localname": "OperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-7-leases-future-payments-due-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "auth_ref": [
      "r313"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.",
        "label": "us-gaap_OperatingLeaseLiabilityCurrent",
        "terseLabel": "Operating Lease, Liability, Current"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-7-leases-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "auth_ref": [
      "r313"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.",
        "label": "us-gaap_OperatingLeaseLiabilityNoncurrent",
        "terseLabel": "Operating Lease, Liability, Noncurrent"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-7-leases-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeasePayments": {
     "auth_ref": [
      "r316",
      "r318"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.",
        "label": "us-gaap_OperatingLeasePayments",
        "terseLabel": "Operating Lease, Payments"
       }
      }
     },
     "localname": "OperatingLeasePayments",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-7-leases-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "auth_ref": [
      "r312"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's right to use underlying asset under operating lease.",
        "label": "us-gaap_OperatingLeaseRightOfUseAsset",
        "terseLabel": "Operating Lease, Right-of-Use Asset"
       }
      }
     },
     "localname": "OperatingLeaseRightOfUseAsset",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-7-leases-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "auth_ref": [
      "r321",
      "r462"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average discount rate for operating lease calculated at point in time.",
        "label": "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent",
        "terseLabel": "Operating Lease, Weighted Average Discount Rate, Percent"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-7-leases-details-textual"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "auth_ref": [
      "r320",
      "r462"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1",
        "terseLabel": "Operating Lease, Weighted Average Remaining Lease Term (Month)"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-7-leases-details-textual"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock": {
     "auth_ref": [
      "r53",
      "r82",
      "r356",
      "r357"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure.",
        "label": "Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]"
       }
      }
     },
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-1-general"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_OtherAssetsMember": {
     "auth_ref": [
      "r42",
      "r44"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing other assets.",
        "label": "Other Assets [Member]"
       }
      }
     },
     "localname": "OtherAssetsMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-7-leases",
      "http://http/20230430/role/statement-note-7-leases-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "auth_ref": [
      "r104"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncurrent assets classified as other.",
        "label": "Other assets, net"
       }
      }
     },
     "localname": "OtherAssetsNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherIncomeAndExpensesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other income (expense), net:"
       }
      }
     },
     "localname": "OtherIncomeAndExpensesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-operations-unaudited-"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherLiabilitiesNoncurrent": {
     "auth_ref": [
      "r17"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "order": 3.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.",
        "label": "Other noncurrent liabilities"
       }
      }
     },
     "localname": "OtherLiabilitiesNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherNoncurrentLiabilitiesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing other noncurrent liabilities.",
        "label": "Other Noncurrent Liabilities [Member]"
       }
      }
     },
     "localname": "OtherNoncurrentLiabilitiesMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-7-leases",
      "http://http/20230430/role/statement-note-7-leases-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "auth_ref": [
      "r69"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-operations-unaudited-": {
       "order": 0.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.",
        "label": "Other, net"
       }
      }
     },
     "localname": "OtherNonoperatingIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-operations-unaudited-"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherReceivables": {
     "auth_ref": [
      "r108",
      "r385"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "order": 3.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount due from parties in nontrade transactions, classified as other.",
        "label": "Other receivables"
       }
      }
     },
     "localname": "OtherReceivables",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsOfFinancingCosts": {
     "auth_ref": [
      "r22"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow for loan and debt issuance costs.",
        "label": "us-gaap_PaymentsOfFinancingCosts",
        "negatedLabel": "Payments for financing costs"
       }
      }
     },
     "localname": "PaymentsOfFinancingCosts",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": {
     "auth_ref": [
      "r120"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement.",
        "label": "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation",
        "negatedLabel": "Payroll taxes withheld and remitted on share-based payments"
       }
      }
     },
     "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireIntangibleAssets": {
     "auth_ref": [
      "r72"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow to acquire asset without physical form usually arising from contractual or other legal rights, excluding goodwill.",
        "label": "us-gaap_PaymentsToAcquireIntangibleAssets",
        "negatedLabel": "Investment in intangible assets"
       }
      }
     },
     "localname": "PaymentsToAcquireIntangibleAssets",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "auth_ref": [
      "r72"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.",
        "label": "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment",
        "negatedLabel": "Purchase of and deposits for the purchase of property and equipment"
       }
      }
     },
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PlanNameAxis": {
     "auth_ref": [
      "r504",
      "r505",
      "r506",
      "r507",
      "r508",
      "r509",
      "r510",
      "r511",
      "r512",
      "r513",
      "r514",
      "r515",
      "r516",
      "r517",
      "r518",
      "r519",
      "r520",
      "r521",
      "r522",
      "r523",
      "r524",
      "r525",
      "r526",
      "r527",
      "r528",
      "r529"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by plan name for share-based payment arrangement.",
        "label": "Plan Name [Axis]"
       }
      }
     },
     "localname": "PlanNameAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation",
      "http://http/20230430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PlanNameDomain": {
     "auth_ref": [
      "r504",
      "r505",
      "r506",
      "r507",
      "r508",
      "r509",
      "r510",
      "r511",
      "r512",
      "r513",
      "r514",
      "r515",
      "r516",
      "r517",
      "r518",
      "r519",
      "r520",
      "r521",
      "r522",
      "r523",
      "r524",
      "r525",
      "r526",
      "r527",
      "r528",
      "r529"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Plan name for share-based payment arrangement.",
        "label": "Plan Name [Domain]"
       }
      }
     },
     "localname": "PlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation",
      "http://http/20230430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PreferredStockNoParValue": {
     "auth_ref": [
      "r54",
      "r501"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount per share of no-par value preferred stock nonredeemable or redeemable solely at the option of the issuer.",
        "label": "us-gaap_PreferredStockNoParValue",
        "terseLabel": "Preferred Stock, No Par Value (in dollars per share)"
       }
      }
     },
     "localname": "PreferredStockNoParValue",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited-parentheticals"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "auth_ref": [
      "r54",
      "r377"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.",
        "label": "us-gaap_PreferredStockSharesAuthorized",
        "terseLabel": "Preferred Stock, Shares Authorized (in shares)"
       }
      }
     },
     "localname": "PreferredStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited-parentheticals"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockSharesIssued": {
     "auth_ref": [
      "r54",
      "r217"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.",
        "label": "us-gaap_PreferredStockSharesIssued",
        "terseLabel": "Preferred Stock, Shares Issued (in shares)"
       }
      }
     },
     "localname": "PreferredStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited-parentheticals"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockSharesOutstanding": {
     "auth_ref": [
      "r54",
      "r377",
      "r396",
      "r553",
      "r554"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.",
        "label": "us-gaap_PreferredStockSharesOutstanding",
        "terseLabel": "Preferred Stock, Shares Outstanding, Ending Balance (in shares)"
       }
      }
     },
     "localname": "PreferredStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited-parentheticals"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockValue": {
     "auth_ref": [
      "r54",
      "r337",
      "r463"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.",
        "label": "Preferred stock, no par value, authorized 1,000,000 shares; none issued and outstanding"
       }
      }
     },
     "localname": "PreferredStockValue",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "auth_ref": [
      "r486"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "order": 5.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits 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.",
        "label": "Prepaid expenses and other assets"
       }
      }
     },
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrimeRateMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Interest rate charged by financial institutions to their most creditworthy borrowers.",
        "label": "Prime Rate [Member]"
       }
      }
     },
     "localname": "PrimeRateMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ProceedsFromInsuranceSettlementInvestingActivities": {
     "auth_ref": [
      "r2",
      "r20"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow for proceeds from settlement of insurance claim, classified as investing activities. Excludes insurance settlement classified as operating activities.",
        "label": "Insurance proceeds received for damange to property and equipment",
        "terseLabel": "Proceeds from Insurance Settlement, Investing Activities"
       }
      }
     },
     "localname": "ProceedsFromInsuranceSettlementInvestingActivities",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited",
      "http://http/20230430/role/statement-note-12-restricted-cash-and-gain-on-insurance-proceeds-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromNotesPayable": {
     "auth_ref": [
      "r21"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from a borrowing supported by a written promise to pay an obligation.",
        "label": "Proceeds from note payable, revolver"
       }
      }
     },
     "localname": "ProceedsFromNotesPayable",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyAccrual": {
     "auth_ref": [
      "r50",
      "r194",
      "r198",
      "r202"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "us-gaap_ProductWarrantyAccrual",
        "periodEndLabel": "Balance at end of period",
        "periodStartLabel": "Balance at beginning of period",
        "terseLabel": "Standard and Extended Product Warranty Accrual"
       }
      }
     },
     "localname": "ProductWarrantyAccrual",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details",
      "http://http/20230430/role/statement-note-5-product-warranties-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyAccrualPayments": {
     "auth_ref": [
      "r199"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "us-gaap_ProductWarrantyAccrualPayments",
        "negatedLabel": "Warranty claims and costs paid during the period"
       }
      }
     },
     "localname": "ProductWarrantyAccrualPayments",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease": {
     "auth_ref": [
      "r201"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in the standard and extended product warranty accrual from changes in estimates attributable to preexisting product warranties.",
        "label": "Changes in liability for pre-existing warranties during the period"
       }
      }
     },
     "localname": "ProductWarrantyAccrualPreexistingIncreaseDecrease",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyAccrualWarrantiesIssued": {
     "auth_ref": [
      "r200"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in the standard and extended product warranty accrual from warranties issued.",
        "label": "Liabilities accrued for warranties issued during the period"
       }
      }
     },
     "localname": "ProductWarrantyAccrualWarrantiesIssued",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyDisclosureTextBlock": {
     "auth_ref": [
      "r190",
      "r191",
      "r192",
      "r193",
      "r195",
      "r196"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Product Warranty Disclosure [Text Block]"
       }
      }
     },
     "localname": "ProductWarrantyDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-5-product-warranties"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ProductWarrantyExpense": {
     "auth_ref": [
      "r3",
      "r497"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "us-gaap_ProductWarrantyExpense",
        "terseLabel": "Product Warranty Expense"
       }
      }
     },
     "localname": "ProductWarrantyExpense",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-5-product-warranties-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "auth_ref": [
      "r5",
      "r334",
      "r341",
      "r463"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.",
        "label": "Property and equipment, net"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentNet",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProvisionForDoubtfulAccounts": {
     "auth_ref": [
      "r119",
      "r182"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable.",
        "label": "Bad debt expense",
        "terseLabel": "Bad debt recovery"
       }
      }
     },
     "localname": "ProvisionForDoubtfulAccounts",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited",
      "http://http/20230430/role/statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable-summary-of-changes-in-the-allowance-for-doubtful-accounts-for-trade-accounts-receivable-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RepaymentsOfLongTermDebt": {
     "auth_ref": [
      "r23",
      "r359"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer.",
        "label": "us-gaap_RepaymentsOfLongTermDebt",
        "negatedLabel": "Principal payments on long-term debt"
       }
      }
     },
     "localname": "RepaymentsOfLongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RepaymentsOfNotesPayable": {
     "auth_ref": [
      "r23"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow for a borrowing supported by a written promise to pay an obligation.",
        "label": "us-gaap_RepaymentsOfNotesPayable",
        "negatedLabel": "Payments on note payable, revolver"
       }
      }
     },
     "localname": "RepaymentsOfNotesPayable",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestrictedCash": {
     "auth_ref": [
      "r485",
      "r487",
      "r546",
      "r548"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "order": 1.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash restricted as to withdrawal or usage. 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.",
        "label": "Restricted cash",
        "terseLabel": "Restricted Cash"
       }
      }
     },
     "localname": "RestrictedCash",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited",
      "http://http/20230430/role/statement-note-12-restricted-cash-and-gain-on-insurance-proceeds-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestrictedStockMember": {
     "auth_ref": [
      "r25"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Restricted Stock [Member]"
       }
      }
     },
     "localname": "RestrictedStockMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation",
      "http://http/20230430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "auth_ref": [
      "r56",
      "r81",
      "r339",
      "r350",
      "r354",
      "r360",
      "r378",
      "r463"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated undistributed earnings (deficit).",
        "label": "Retained earnings"
       }
      }
     },
     "localname": "RetainedEarningsAccumulatedDeficit",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsMember": {
     "auth_ref": [
      "r97",
      "r124",
      "r125",
      "r126",
      "r130",
      "r138",
      "r140",
      "r177",
      "r180",
      "r268",
      "r269",
      "r270",
      "r273",
      "r274",
      "r283",
      "r285",
      "r286",
      "r289",
      "r291",
      "r347",
      "r349",
      "r362",
      "r553"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated undistributed earnings (deficit).",
        "label": "Retained Earnings [Member]"
       }
      }
     },
     "localname": "RetainedEarningsMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-shareholders-equity-unaudited"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax": {
     "auth_ref": [
      "r156",
      "r157",
      "r161",
      "r164",
      "r165",
      "r169",
      "r170",
      "r172",
      "r229",
      "r230",
      "r327"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-operations-unaudited-": {
       "order": 1.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Net sales"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerIncludingAssessedTax",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-operations-unaudited-",
      "http://http/20230430/role/statement-note-11-revenue-recognition-revenue-attributed-to-united-states-and-all-other-countries-details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "auth_ref": [
      "r96",
      "r221",
      "r222",
      "r223",
      "r224",
      "r225",
      "r226",
      "r227",
      "r228",
      "r232"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.",
        "label": "Revenue from Contract with Customer [Text Block]"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-11-revenue-recognition"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock": {
     "auth_ref": [
      "r7"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Revenue from External Customers by Geographic Areas [Table Text Block]"
       }
      }
     },
     "localname": "RevenueFromExternalCustomersByGeographicAreasTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-11-revenue-recognition-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RevolvingCreditFacilityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount.",
        "label": "Revolving Credit Facility [Member]"
       }
      }
     },
     "localname": "RevolvingCreditFacilityMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": {
     "auth_ref": [
      "r319",
      "r462"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability.",
        "label": "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability",
        "terseLabel": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability"
       }
      }
     },
     "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-7-leases-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SalesRevenueNetMember": {
     "auth_ref": [
      "r172",
      "r482"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation.",
        "label": "Revenue Benchmark [Member]"
       }
      }
     },
     "localname": "SalesRevenueNetMember",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-10-segment-information-and-business-and-credit-concentrations",
      "http://http/20230430/role/statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ScheduleOfDebtTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of information pertaining to short-term and long-debt instruments or arrangements, including but not limited to identification of terms, features, collateral requirements and other information necessary to a fair presentation.",
        "label": "Schedule of Debt [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfDebtTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "auth_ref": [
      "r492"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.",
        "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-9-net-income-loss-per-share-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "auth_ref": [
      "r9",
      "r60",
      "r61",
      "r62"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Schedule of Inventory, Current [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-4-inventories-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": {
     "auth_ref": [
      "r197"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Schedule of Product Warranty Liability [Table Text Block]"
       }
      }
     },
     "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-5-product-warranties-tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SellingGeneralAndAdministrativeExpense": {
     "auth_ref": [
      "r67"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-operations-unaudited-": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.",
        "label": "Selling, general and administrative expenses"
       }
      }
     },
     "localname": "SellingGeneralAndAdministrativeExpense",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-operations-unaudited-"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensation": {
     "auth_ref": [
      "r3"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncash expense for share-based payment arrangement.",
        "label": "us-gaap_ShareBasedCompensation",
        "terseLabel": "Share-based compensation expense"
       }
      }
     },
     "localname": "ShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": {
     "auth_ref": [
      "r37"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable.",
        "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant",
        "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "auth_ref": [
      "r237",
      "r238",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r248",
      "r249",
      "r250",
      "r251",
      "r252",
      "r253",
      "r254",
      "r255",
      "r256",
      "r257",
      "r258",
      "r259",
      "r260",
      "r261",
      "r262"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Award under share-based payment arrangement.",
        "label": "Award Type [Domain]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation",
      "http://http/20230430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares issued which are neither cancelled nor held in the treasury.",
        "label": "us-gaap_SharesOutstanding",
        "periodEndLabel": "Balances (in shares)",
        "periodStartLabel": "Balances (in shares)"
       }
      }
     },
     "localname": "SharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-shareholders-equity-unaudited"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement.",
        "label": "us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation",
        "terseLabel": "Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation"
       }
      }
     },
     "localname": "SharesPaidForTaxWithholdingForShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "auth_ref": [
      "r6",
      "r19",
      "r97",
      "r114",
      "r115",
      "r116",
      "r124",
      "r125",
      "r126",
      "r130",
      "r138",
      "r140",
      "r154",
      "r177",
      "r180",
      "r218",
      "r268",
      "r269",
      "r270",
      "r273",
      "r274",
      "r283",
      "r284",
      "r285",
      "r286",
      "r287",
      "r289",
      "r291",
      "r302",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r323",
      "r347",
      "r348",
      "r349",
      "r362",
      "r416"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by component of equity.",
        "label": "Equity Components [Axis]"
       }
      }
     },
     "localname": "StatementEquityComponentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-shareholders-equity-unaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementLineItems": {
     "auth_ref": [
      "r124",
      "r125",
      "r126",
      "r154",
      "r327",
      "r358",
      "r363",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r377",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r386",
      "r387",
      "r388",
      "r389",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r397",
      "r399",
      "r400",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r409",
      "r410",
      "r411",
      "r412",
      "r413",
      "r416",
      "r468"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Statement [Line Items]"
       }
      }
     },
     "localname": "StatementLineItems",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited",
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited-parentheticals",
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited",
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-operations-unaudited-",
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-shareholders-equity-unaudited",
      "http://http/20230430/role/statement-note-1-general",
      "http://http/20230430/role/statement-note-10-segment-information-and-business-and-credit-concentrations",
      "http://http/20230430/role/statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual",
      "http://http/20230430/role/statement-note-11-revenue-recognition",
      "http://http/20230430/role/statement-note-11-revenue-recognition-details-textual",
      "http://http/20230430/role/statement-note-11-revenue-recognition-revenue-attributed-to-united-states-and-all-other-countries-details",
      "http://http/20230430/role/statement-note-11-revenue-recognition-tables",
      "http://http/20230430/role/statement-note-12-restricted-cash-and-gain-on-insurance-proceeds",
      "http://http/20230430/role/statement-note-12-restricted-cash-and-gain-on-insurance-proceeds-details-textual",
      "http://http/20230430/role/statement-note-13-contingencies",
      "http://http/20230430/role/statement-note-14-new-accounting-standards-not-yet-adopted",
      "http://http/20230430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation",
      "http://http/20230430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual",
      "http://http/20230430/role/statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable",
      "http://http/20230430/role/statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable-summary-of-changes-in-the-allowance-for-doubtful-accounts-for-trade-accounts-receivable-details",
      "http://http/20230430/role/statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable-tables",
      "http://http/20230430/role/statement-note-4-inventories",
      "http://http/20230430/role/statement-note-4-inventories-components-of-inventories-details",
      "http://http/20230430/role/statement-note-4-inventories-tables",
      "http://http/20230430/role/statement-note-5-product-warranties",
      "http://http/20230430/role/statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details",
      "http://http/20230430/role/statement-note-5-product-warranties-details-textual",
      "http://http/20230430/role/statement-note-5-product-warranties-tables",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details-parentheticals",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-tables",
      "http://http/20230430/role/statement-note-7-leases",
      "http://http/20230430/role/statement-note-7-leases-details-textual",
      "http://http/20230430/role/statement-note-7-leases-future-payments-due-details",
      "http://http/20230430/role/statement-note-7-leases-tables",
      "http://http/20230430/role/statement-note-8-fair-value-measurements",
      "http://http/20230430/role/statement-note-9-net-income-loss-per-share",
      "http://http/20230430/role/statement-note-9-net-income-loss-per-share-components-of-reconciliation-of-numerators-and-denominators-net-loss-per-share-details",
      "http://http/20230430/role/statement-note-9-net-income-loss-per-share-details-textual",
      "http://http/20230430/role/statement-note-9-net-income-loss-per-share-tables"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Cash Flows [Abstract]"
       }
      }
     },
     "localname": "StatementOfCashFlowsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Financial Position [Abstract]"
       }
      }
     },
     "localname": "StatementOfFinancialPositionAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Stockholders' Equity [Abstract]"
       }
      }
     },
     "localname": "StatementOfStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementTable": {
     "auth_ref": [
      "r124",
      "r125",
      "r126",
      "r154",
      "r327",
      "r358",
      "r363",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r377",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r386",
      "r387",
      "r388",
      "r389",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r397",
      "r399",
      "r400",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r409",
      "r410",
      "r411",
      "r412",
      "r413",
      "r416",
      "r468"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.",
        "label": "Statement [Table]"
       }
      }
     },
     "localname": "StatementTable",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited",
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited-parentheticals",
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited",
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-operations-unaudited-",
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-shareholders-equity-unaudited",
      "http://http/20230430/role/statement-note-1-general",
      "http://http/20230430/role/statement-note-10-segment-information-and-business-and-credit-concentrations",
      "http://http/20230430/role/statement-note-10-segment-information-and-business-and-credit-concentrations-details-textual",
      "http://http/20230430/role/statement-note-11-revenue-recognition",
      "http://http/20230430/role/statement-note-11-revenue-recognition-details-textual",
      "http://http/20230430/role/statement-note-11-revenue-recognition-revenue-attributed-to-united-states-and-all-other-countries-details",
      "http://http/20230430/role/statement-note-11-revenue-recognition-tables",
      "http://http/20230430/role/statement-note-12-restricted-cash-and-gain-on-insurance-proceeds",
      "http://http/20230430/role/statement-note-12-restricted-cash-and-gain-on-insurance-proceeds-details-textual",
      "http://http/20230430/role/statement-note-13-contingencies",
      "http://http/20230430/role/statement-note-14-new-accounting-standards-not-yet-adopted",
      "http://http/20230430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation",
      "http://http/20230430/role/statement-note-2-stock-incentive-plans-and-other-sharebased-compensation-details-textual",
      "http://http/20230430/role/statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable",
      "http://http/20230430/role/statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable-summary-of-changes-in-the-allowance-for-doubtful-accounts-for-trade-accounts-receivable-details",
      "http://http/20230430/role/statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable-tables",
      "http://http/20230430/role/statement-note-4-inventories",
      "http://http/20230430/role/statement-note-4-inventories-components-of-inventories-details",
      "http://http/20230430/role/statement-note-4-inventories-tables",
      "http://http/20230430/role/statement-note-5-product-warranties",
      "http://http/20230430/role/statement-note-5-product-warranties-changes-in-accrual-for-product-warranties-details",
      "http://http/20230430/role/statement-note-5-product-warranties-details-textual",
      "http://http/20230430/role/statement-note-5-product-warranties-tables",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-longterm-debt-details-parentheticals",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-tables",
      "http://http/20230430/role/statement-note-7-leases",
      "http://http/20230430/role/statement-note-7-leases-details-textual",
      "http://http/20230430/role/statement-note-7-leases-future-payments-due-details",
      "http://http/20230430/role/statement-note-7-leases-tables",
      "http://http/20230430/role/statement-note-8-fair-value-measurements",
      "http://http/20230430/role/statement-note-9-net-income-loss-per-share",
      "http://http/20230430/role/statement-note-9-net-income-loss-per-share-components-of-reconciliation-of-numerators-and-denominators-net-loss-per-share-details",
      "http://http/20230430/role/statement-note-9-net-income-loss-per-share-details-textual",
      "http://http/20230430/role/statement-note-9-net-income-loss-per-share-tables"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation": {
     "auth_ref": [
      "r6",
      "r54",
      "r55",
      "r81"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation",
        "negatedTerseLabel": "Share-based compensation, net (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-shareholders-equity-unaudited"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation": {
     "auth_ref": [
      "r38",
      "r54",
      "r55",
      "r81"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).",
        "label": "us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation",
        "terseLabel": "Share-based compensation, net"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-shareholders-equity-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquity": {
     "auth_ref": [
      "r55",
      "r57",
      "r58",
      "r77",
      "r379",
      "r396",
      "r417",
      "r418",
      "r463",
      "r475",
      "r489",
      "r494",
      "r532",
      "r553"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.",
        "label": "us-gaap_StockholdersEquity",
        "periodEndLabel": "Balances",
        "periodStartLabel": "Balances"
       }
      }
     },
     "localname": "StockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-shareholders-equity-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shareholders\u2019 equity:"
       }
      }
     },
     "localname": "StockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest": {
     "auth_ref": [
      "r39",
      "r40",
      "r41",
      "r97",
      "r98",
      "r115",
      "r124",
      "r125",
      "r126",
      "r130",
      "r138",
      "r177",
      "r180",
      "r218",
      "r268",
      "r269",
      "r270",
      "r273",
      "r274",
      "r283",
      "r284",
      "r285",
      "r286",
      "r287",
      "r289",
      "r291",
      "r302",
      "r303",
      "r307",
      "r323",
      "r348",
      "r349",
      "r361",
      "r379",
      "r396",
      "r417",
      "r418",
      "r428",
      "r474",
      "r489",
      "r494",
      "r532",
      "r553"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of equity (deficit) attributable to parent and noncontrolling interest. Excludes temporary equity.",
        "label": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
        "totalLabel": "Total shareholders\u2019 equity"
       }
      }
     },
     "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "us-gaap_TableTextBlock",
        "terseLabel": "Notes Tables"
       }
      }
     },
     "localname": "TableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-11-revenue-recognition-tables",
      "http://http/20230430/role/statement-note-3-allowance-for-doubtful-accounts-for-trade-accounts-receivable-tables",
      "http://http/20230430/role/statement-note-4-inventories-tables",
      "http://http/20230430/role/statement-note-5-product-warranties-tables",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-tables",
      "http://http/20230430/role/statement-note-7-leases-tables",
      "http://http/20230430/role/statement-note-9-net-income-loss-per-share-tables"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_TaxesPayableCurrent": {
     "auth_ref": [
      "r11"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited": {
       "order": 0.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable 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).",
        "label": "Income taxes payable"
       }
      }
     },
     "localname": "TaxesPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-balance-sheets-unaudited"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnusualOrInfrequentItemAxis": {
     "auth_ref": [
      "r71"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by an event or transaction that is unusual in nature or infrequent in occurrence, or both.",
        "label": "Unusual or Infrequent Item, or Both [Axis]"
       }
      }
     },
     "localname": "UnusualOrInfrequentItemAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-12-restricted-cash-and-gain-on-insurance-proceeds",
      "http://http/20230430/role/statement-note-12-restricted-cash-and-gain-on-insurance-proceeds-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_UnusualOrInfrequentItemDomain": {
     "auth_ref": [
      "r71"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Event or transaction that is unusual in nature or infrequent in occurrence, or both.",
        "label": "Unusual or Infrequent Item, or Both [Domain]"
       }
      }
     },
     "localname": "UnusualOrInfrequentItemDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-12-restricted-cash-and-gain-on-insurance-proceeds",
      "http://http/20230430/role/statement-note-12-restricted-cash-and-gain-on-insurance-proceeds-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_UnusualOrInfrequentItemGainGross": {
     "auth_ref": [
      "r71"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain recognized in the income statement for an event or transaction that is unusual in nature or infrequent in occurrence, or both.",
        "label": "us-gaap_UnusualOrInfrequentItemGainGross",
        "terseLabel": "Unusual or Infrequent Item, or Both, Gain, Gross"
       }
      }
     },
     "localname": "UnusualOrInfrequentItemGainGross",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-12-restricted-cash-and-gain-on-insurance-proceeds-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnusualOrInfrequentItemInsuranceProceeds": {
     "auth_ref": [
      "r71"
     ],
     "calculation": {
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited": {
       "order": 8.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-operations-unaudited-": {
       "order": 2.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of insurance proceeds for an event or transaction that is unusual in nature or infrequent in occurrence, or both.",
        "label": "Gain on insurance proceeds received for damage to property and equipment",
        "negatedLabel": "Gain on insurance proceeds received for damage to property and equipment"
       }
      }
     },
     "localname": "UnusualOrInfrequentItemInsuranceProceeds",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-cash-flows-unaudited",
      "http://http/20230430/role/statement-condensed-consolidated-statements-of-operations-unaudited-"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnusualOrInfrequentItemLossGross": {
     "auth_ref": [
      "r71"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before deduction of insurance proceeds, of loss recognized in the income statement for an event or transaction that is unusual in nature or infrequent in occurrence, or both.",
        "label": "us-gaap_UnusualOrInfrequentItemLossGross",
        "terseLabel": "Unusual or Infrequent Item, or Both, Loss, Gross"
       }
      }
     },
     "localname": "UnusualOrInfrequentItemLossGross",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-12-restricted-cash-and-gain-on-insurance-proceeds-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnusualOrInfrequentItemNetOfInsuranceProceeds": {
     "auth_ref": [
      "r90",
      "r331"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after deduction of insurance proceeds, of loss recognized in the income statement for an event or transaction that is unusual in nature or infrequent in occurrence, or both.",
        "label": "us-gaap_UnusualOrInfrequentItemNetOfInsuranceProceeds",
        "terseLabel": "Unusual or Infrequent Item, or Both, Net of Insurance Proceeds"
       }
      }
     },
     "localname": "UnusualOrInfrequentItemNetOfInsuranceProceeds",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-12-restricted-cash-and-gain-on-insurance-proceeds-details-textual"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnusualOrInfrequentItemsDisclosureTextBlock": {
     "auth_ref": [
      "r70"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for an event or transaction that is unusual in nature or infrequent in occurrence, or both.",
        "label": "Unusual or Infrequent Items, or Both, Disclosure [Text Block]"
       }
      }
     },
     "localname": "UnusualOrInfrequentItemsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-12-restricted-cash-and-gain-on-insurance-proceeds"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_VariableRateAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of variable rate.",
        "label": "Variable Rate [Axis]"
       }
      }
     },
     "localname": "VariableRateAxis",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_VariableRateDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index.",
        "label": "Variable Rate [Domain]"
       }
      }
     },
     "localname": "VariableRateDomain",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-",
      "http://http/20230430/role/statement-note-6-longterm-debt-and-notes-payable-details-textual"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "auth_ref": [
      "r144",
      "r149"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.",
        "label": "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic",
        "verboseLabel": "Shares (denominator) (in shares)"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "presentation": [
      "http://http/20230430/role/statement-note-9-net-income-loss-per-share-components-of-reconciliation-of-numerators-and-denominators-net-loss-per-share-details"
     ],
     "xbrltype": "sharesItemType"
    }
   },
   "unitCount": 8
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "940",
   "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r1": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "230",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r10": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(b),22(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r100": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-7",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r101": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r102": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-5",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r103": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r104": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(17))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r105": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(18))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r106": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(20))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r107": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(22))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r108": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(3)(a)(4))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r109": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(4))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r11": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19,20)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r110": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r111": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(9))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r112": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r113": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r114": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r115": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r116": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r117": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(210.5-03(11))",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r118": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(25))",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r119": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(5))",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r12": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r120": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r121": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r122": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r123": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Topic": "235",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r124": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r125": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r126": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r127": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r128": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(1)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r129": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r13": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.20)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r130": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(3)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r131": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(4)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r132": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r133": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r134": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r135": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r136": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r137": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r138": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r139": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-8",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r14": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.21)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r140": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-9",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r141": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.M.Q2)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147480530/250-10-S99-5",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r142": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147480530/250-10-S99-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r143": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "260",
   "URI": "https://asc.fasb.org//260/tableOfContent",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r144": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r145": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r146": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r147": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r148": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-7",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r149": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r15": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r150": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r151": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r152": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r153": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-15",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r154": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r155": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r156": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r157": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r158": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r159": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r16": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r160": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r161": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r162": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r163": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r164": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r165": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r166": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r167": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r168": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r169": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r17": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.24)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r170": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r171": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r172": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "42",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-42",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r173": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r174": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-9",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r175": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r176": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r177": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "326",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r178": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "326",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r179": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(2)",
   "Topic": "326",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r18": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.25)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r180": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "326",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r181": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org//1943274/2147479344/326-20-45-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r182": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "326",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r183": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "330",
   "URI": "https://asc.fasb.org//330/tableOfContent",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r184": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "440",
   "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r185": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "440",
   "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r186": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r187": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r188": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Topic": "450",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r189": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q4)",
   "Topic": "450",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r19": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r190": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "460",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r191": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)",
   "Topic": "460",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r192": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(4)",
   "Topic": "460",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r193": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(5)",
   "Topic": "460",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r194": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "460",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r195": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "460",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r196": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "460",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r197": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "460",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r198": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "460",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r199": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "460",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r2": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-21B",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r20": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r200": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(3)",
   "Topic": "460",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r201": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(4)",
   "Topic": "460",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r202": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(5)",
   "Topic": "460",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r203": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r204": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r205": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r206": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r207": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r208": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r209": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r21": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r210": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r211": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r212": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r213": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r214": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r215": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r216": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r217": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r218": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r219": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r22": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r220": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r221": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r222": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r223": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r224": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r225": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r226": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r227": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r228": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-15",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r229": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r23": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r230": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r231": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r232": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-9",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r233": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(i)",
   "Topic": "715",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r234": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(d)",
   "Topic": "715",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r235": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "718",
   "URI": "https://asc.fasb.org//718/tableOfContent",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r236": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r237": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r238": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r239": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r24": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-4",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r240": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r241": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r242": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r243": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r244": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r245": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r246": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r247": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r248": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r249": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r25": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r250": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r251": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r252": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r253": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r254": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r255": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r256": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r257": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r258": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r259": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r26": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r260": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r261": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r262": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(v)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r263": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r264": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r265": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r266": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r267": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(l)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r268": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r269": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r27": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "275",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r270": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r271": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 14.F)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r272": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-10",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r273": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r274": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(3)",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r275": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r276": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(2)",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r277": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(3)",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r278": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r279": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "810",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r28": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-20",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r280": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "810",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r281": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bb)",
   "Topic": "810",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r282": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "810",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r283": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r284": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(h)(1)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r285": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(h)(1)(i)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r286": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(h)(1)(iii)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r287": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(h)(1)(iv)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r288": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(i)(1)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r289": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(i)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r29": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 5.BB)",
   "Topic": "330",
   "URI": "https://asc.fasb.org//1943274/2147480581/330-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r290": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(1)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r291": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r292": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(4)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r293": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r294": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(c)(1)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r295": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(c)(2)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r296": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(c)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r297": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r298": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r299": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "825",
   "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r3": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r30": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r300": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(2)",
   "Topic": "825",
   "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r301": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(3)",
   "Topic": "825",
   "URI": "https://asc.fasb.org//1943274/2147482833/825-10-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r302": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-17",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r303": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r304": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r305": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r306": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r307": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r308": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "835",
   "URI": "https://asc.fasb.org//1943274/2147483013/835-20-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r309": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org//1943274/2147482900/835-30-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r31": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r310": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(1)",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147479832/842-10-65-5",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r311": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(3)",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147479832/842-10-65-5",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r312": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r313": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r314": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r315": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r316": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r317": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r318": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(1)",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r319": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(2)",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r32": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "((a)(1),(b))",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r320": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(3)",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r321": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(4)",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r322": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r323": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Topic": "848",
   "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r324": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "848",
   "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r325": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r326": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "910",
   "URI": "https://asc.fasb.org//1943274/2147482546/910-10-50-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r327": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.L)",
   "Topic": "924",
   "URI": "https://asc.fasb.org//1943274/2147479941/924-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r328": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(f)(1)",
   "Topic": "926",
   "URI": "https://asc.fasb.org//1943274/2147483194/926-20-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r329": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(f)(2)",
   "Topic": "926",
   "URI": "https://asc.fasb.org//1943274/2147483194/926-20-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r33": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(2)",
   "Topic": "350",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r330": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(f)(3)",
   "Topic": "926",
   "URI": "https://asc.fasb.org//1943274/2147483194/926-20-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r331": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "715",
   "Topic": "930",
   "URI": "https://asc.fasb.org//1943274/2147482028/930-715-45-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r332": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(27))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r333": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147479557/942-235-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r334": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147480842/942-360-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r335": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r336": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(19))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r337": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(21))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r338": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(22))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r339": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r34": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481573/470-10-45-13",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r340": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r341": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r342": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(11))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r343": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(18))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r344": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(23))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r345": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(9))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r346": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(d)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-7A",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r347": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r348": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(1)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r349": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(2)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r35": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481573/470-10-45-14",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r350": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(i)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r351": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(ii)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r352": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(iii)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r353": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(iv)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r354": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(h)(2)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r355": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r356": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480424/946-10-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r357": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480424/946-10-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r358": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.6-03(d))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r359": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.6-03(i)(2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r36": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481544/470-10-50-5",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r360": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-11",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r361": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "205",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r362": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "205",
   "Subparagraph": "(a)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r363": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "210",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-4",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r364": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "210",
   "Subparagraph": "(b)(2)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r365": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "210",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r366": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "210",
   "Subparagraph": "(a)(2)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r367": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "210",
   "Subparagraph": "(e)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r368": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "210",
   "Subparagraph": "(f)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r369": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(1))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r37": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r370": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(12)(b)(1))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r371": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(12)(b)(2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r372": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(12)(b)(3))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r373": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(13)(a)(2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r374": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(13)(a)(3))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r375": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(14))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r376": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(15))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r377": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(16)(a))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r378": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(17))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r379": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(19))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r38": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r380": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(2)(a))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r381": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(2)(b))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r382": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(3)(a))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r383": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(3)(b))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r384": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(3)(c))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r385": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(5)(a)(5))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r386": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(6)(b))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r387": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(6)(c))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r388": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(6)(d))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r389": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(6)(e))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r39": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-15",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r390": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(8))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r391": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(9)(b))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r392": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(9)(c))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r393": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(9)(d))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r394": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04(9)(e))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r395": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-05(2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r396": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-05(4))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r397": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "220",
   "Subparagraph": "(b)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r398": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "220",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-7",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r399": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(1))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r4": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r40": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-16",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r400": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(2)(a))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r401": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(3))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r402": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(a)(1))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r403": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(a)(2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r404": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(a)(3))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r405": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(a)(5))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r406": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(a)(6))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r407": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(a)(7))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r408": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(c)(1))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r409": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(c)(2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r41": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4I",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4I",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r410": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(c)(3))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r411": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(c)(5))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r412": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(c)(6))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r413": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(7)(c)(7))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r414": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07(9))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r415": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-09(1)(d))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r416": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r417": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-09(6))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r418": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-09(7))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r419": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r42": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4A",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r420": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r421": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r422": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r423": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r424": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r425": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r426": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r427": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r428": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "505",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-3",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r429": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "310",
   "Subparagraph": "(SX 210.12-29(Footnote 4))",
   "Topic": "948",
   "URI": "https://asc.fasb.org//1943274/2147479851/948-310-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r43": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4B",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r430": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Topic": "954",
   "URI": "https://asc.fasb.org//1943274/2147481027/954-310-50-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r431": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "440",
   "Subparagraph": "(a)",
   "Topic": "954",
   "URI": "https://asc.fasb.org//1943274/2147480327/954-440-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r432": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Topic": "970",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r433": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Topic": "970",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r434": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Topic": "970",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r435": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Topic": "970",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r436": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Topic": "970",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r437": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Topic": "970",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r438": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Topic": "970",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r439": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Topic": "970",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r44": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "182",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480401/815-10-55-182",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r440": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Footnote 2))",
   "Topic": "970",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r441": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(c)",
   "Topic": "976",
   "URI": "https://asc.fasb.org//1943274/2147482856/976-310-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r442": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(b)",
   "Topic": "978",
   "URI": "https://asc.fasb.org//1943274/2147482707/978-310-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r443": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(b)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r444": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r445": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r446": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r447": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(3))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r448": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(4))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r449": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(5))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r45": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-20",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r450": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "52",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-52",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r451": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r452": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r453": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12A",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org//1943274/2147481933/310-10-55-12A",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r454": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r455": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69B",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r456": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69C",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r457": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r458": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r459": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r46": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "825",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r460": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "80",
   "Topic": "715",
   "URI": "https://asc.fasb.org//1943274/2147480547/715-80-55-8",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r461": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r462": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "53",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147479589/842-20-55-53",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r463": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "852",
   "URI": "https://asc.fasb.org//1943274/2147481372/852-10-55-10",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r464": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-29F",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r465": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "210",
   "Subparagraph": "(b)(1)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r466": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "210",
   "Subparagraph": "(a)(1)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r467": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "210",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480493/946-210-55-1",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r468": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "310",
   "Subparagraph": "(d)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r469": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r47": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r470": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r471": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r472": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r473": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "830",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-10",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r474": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "830",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-11",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r475": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "830",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-12",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r476": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r477": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r478": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r479": {
   "Name": "Form 10-Q",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "308",
   "Subsection": "a",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r48": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r480": {
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13",
   "Subsection": "a-1",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r481": {
   "Name": "Regulation S-T",
   "Number": "232",
   "Publisher": "SEC",
   "Section": "405",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r482": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r483": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r484": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r485": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r486": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(9))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r487": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r488": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(f))",
   "Topic": "235",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r489": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Topic": "235",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r49": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org//1943274/2147482949/835-30-55-8",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r490": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r491": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r492": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r493": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-13",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r494": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r495": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "410",
   "URI": "https://asc.fasb.org//1943274/2147481931/410-30-50-10",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r496": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "450",
   "URI": "https://asc.fasb.org//450/tableOfContent",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r497": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "460",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r498": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r499": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r5": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r50": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.15(5))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r500": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r501": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r502": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r503": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "27",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-27",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r504": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r505": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r506": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r507": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r508": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r509": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r51": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.17)",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r510": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r511": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r512": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r513": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r514": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r515": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r516": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r517": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r518": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r519": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r52": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "470",
   "Subparagraph": "(c)",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147480848/942-470-50-3",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r520": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r521": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r522": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r523": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r524": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r525": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r526": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r527": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r528": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r529": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(v)",
   "Topic": "718",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r53": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "205",
   "URI": "https://asc.fasb.org//205/tableOfContent",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r530": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r531": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bbb)(2)",
   "Topic": "820",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r532": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r533": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-4",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r534": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(1)",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r535": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(3)",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r536": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(3)",
   "Topic": "842",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r537": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r538": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "852",
   "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r539": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "852",
   "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r54": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(28))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r540": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r541": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r542": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r543": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r544": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r545": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r546": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(1)(a))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r547": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r548": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(2))",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r549": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147479432/944-30-50-2B",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r55": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(29))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r550": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(c)",
   "Topic": "944",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r551": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "205",
   "Subparagraph": "(a)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r552": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "220",
   "Subparagraph": "(i)",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r553": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r554": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-09(7))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r555": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(ii))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r556": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r557": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(b))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r558": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Topic": "946",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r56": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r57": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r58": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(31))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r59": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(32))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r6": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r60": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r61": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r62": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r63": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(10))",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r64": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(20))",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r65": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r66": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.2(a),(d))",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r67": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.4)",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r68": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.7)",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r69": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.9)",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r7": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "a",
   "Topic": "280",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r70": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "20",
   "Topic": "220",
   "URI": "https://asc.fasb.org//220-20/tableOfContent",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r71": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483613/220-20-50-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r72": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r73": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r74": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r75": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r76": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "275",
   "URI": "https://asc.fasb.org//275/tableOfContent",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r77": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 4.E)",
   "Topic": "310",
   "URI": "https://asc.fasb.org//1943274/2147480418/310-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r78": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.BB)",
   "Topic": "330",
   "URI": "https://asc.fasb.org//1943274/2147480581/330-10-S99-2",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r79": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "440",
   "URI": "https://asc.fasb.org//440/tableOfContent",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r8": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(22))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r80": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "470",
   "URI": "https://asc.fasb.org//470/tableOfContent",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r81": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r82": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "810",
   "URI": "https://asc.fasb.org//810/tableOfContent",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r83": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(11))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r84": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(16))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r85": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(23))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r86": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(15))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r87": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(22))",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r88": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.9)",
   "Topic": "942",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r89": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r9": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r90": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "220",
   "URI": "https://asc.fasb.org//1943274/2147483613/220-20-50-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r91": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(d)(1)",
   "Topic": "310",
   "URI": "https://asc.fasb.org//1943274/2147481925/310-20-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r92": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(d)(2)",
   "Topic": "310",
   "URI": "https://asc.fasb.org//1943274/2147481925/310-20-65-2",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r93": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h))",
   "Topic": "235",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r94": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22(a)(2))",
   "Topic": "210",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r95": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "250",
   "URI": "https://asc.fasb.org//250/tableOfContent",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r96": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "606",
   "URI": "https://asc.fasb.org//606/tableOfContent",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r97": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "105",
   "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r98": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "105",
   "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r99": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "105",
   "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  }
 },
 "version": "2.2"
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>62
<FILENAME>0001437749-23-017089-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001437749-23-017089-xbrl.zip
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
M-30V3(H:Q%(8*E#:4$Z+3 IZ+F1ML-]O59C[D4Q6H,V*.W5A/,W^HKVV7YC
MO:8D9WS5>[-@.=5P31]@)G,BW@0%21(F;GL^$]!L,Q%8J\6.J;7N$]7@)3?W
M1#$B3$_8"'A@Z-)XA+-;T5/L-C-!3M0M$STKCR%'@_$R8Q$ST.TTV_U6-.BW
MBL'^*_Z?8_\*!#L.#T2DB^![^_@7>7R:MN%XMKBZN!J&BZO)-4QO9O.;\'H!
MBPFT3^&F.6\.FS ?#QVWW3WV(9Q#.)I,%^/1CO1&YLP_@<D%+'X>PSR<O0VO
MQW-O\MO[\>\0#A>6T_']SO_G\S5U_JG4AJ6K7:=7PG:PJ+H9'IC)P&04/I9$
M&:KX"F:TP+$!,H5)85B,\V-((DYA*!4RB%.K6Y6#'T\['3\8RKP@8N7>VL$A
M(/L"H4#;]SX"C@]G_JXR#Q1G4P)AH1B'KM\ -Y2(AI1QI#^BF=.X5,PP#)Z(
M!,9+'%'BUF+(<Z:UA8 ?*YG@W(.,*HIXMU%546Q -9RL&XP:,X.NK I.RY@J
M3!'Z:4!1*EUB(L'([=)=)\J6;L,B)8DL[*C=%M\(V=I%'"X"HB(BJ/8F2TY7
M$,8NH[9VD4U,#^KM0R>X3G=:<LQ]C+GD-NK'3"AZ5S)%<YRXVEKXC*=.,-<*
MVL?UY/#1ZRMY6[MOGW6/ L>I=RKO3%0#WIJT@YTPFQPF=J 19NNB4%1;% W+
M)IP#JE$L/8X8=8&P=)7EE DB8DM'@PESIJU+E"IY%80L:%5(>@-\740VP4C9
MK8^&4]]4$JHRF=B?HJJFYO=NTO^@#^,Z.I(*&^*\YN.E3CE?7[^/[[H@\>;]
MV74.SBML8X2#NU*:X G2BM@ 1VZ QN-+ ZSOQ&36B/^3O>5QD\%51^$/^TPV
M[M92)\=6:(3EUH-WI:"XQ525@9M0\HI.%W76 7J1-$;FZ*U8@I:<82W>1G6L
M+OLY1-,MW4+ 6'*C)OS*^)],-."=:F[,X]-!^R>$FQ1_$52MXCV>\OJ0H#JE
MEU!$E==AAGV("=VTS%M)5&)?1C@?8B.5;E2G^P7S4VQ"EF 7NY8:9HRF."1P
M:!AV3V&2I@P'HK.RY\+>#A\7/%<VWV:9@,VWZY^@L+O%F+!0>UY%^O;WY0M[
MX8[+A-U#S(G6Y[7WX7SA3</+L?=V-@Y_L8OJ%G=Z>;&8/:%EJ:?DPW.B[328
M7E[??/CL#27L/OW" U&T['Z-VX_[G_ W4$L#!!0    ( ,U;S%9Q\HZ9-@0
M !L,   -    97A?-3(Y-#4P+FAT;>U7;6_B1A#^?/D54ZKFB(3!0!(E-D'R
M$9*FO0L<D*K]5*WM-=[3>M?975^@O[ZS:R A;:ZG5E54J1+(>%Z?F9V9'0:Y
M*?APD%.2#@_># PSG [IZM>3WOGQB=]&[J!3$P_>(/\;SX-K*J@BAJ80KV&1
M5R*EZE(6%*92&<+!@]-.O]/S>WWH]H+^>= _AN@#>-YP4%!#(,F)TM1<-"J3
M>6>-#560@EXT,JD*8KR4&IH8)D4#$BD,%2AM**=E+@6]$+(Q/!AT:LR#6*9K
MT&;-G;HPGF:_T0"Z?FE"<(2,%(RO SB\KZ0)%ZR@&F[I \QD041-#*$D:<K$
M,@"?"?#;729"2"JEI0J 5$:&UF>YYVAC]YG!\!&$P^!>/Q/%B#"!L/'QT-"5
M\0AG2Q$HMLQ-6!"U9"*P\IB0>#A>Y2QF!OJ]=F_0B8>#3CD\>,'_VV< WGX-
M@CV'AR+69?C:/OY&'I^G;32>+6ZN;D;1XF9R"].[V?PNNEW 8@+=,[AKS]NC
M-LS'(\?M]D]\B.8074ZFB_'EGO16YMP_A<D5++X?PSR:O8MNQW-O\O/[\2\0
MC1:6T_/]_\_GJ^K\4Z4-R];[3F^$[6]1]SH\,).#R2E\K(@R5/$US&B)0P5D
M!I/2L 2GRXC$G,)(*F00I]:T*H??GO5Z?CB214G$VKUUPR- ]A5"P6G@?<1A
MH)SY^]H\4)Q<*42E8ASZ?@O<R"(:,L:1OD,SIS@'F&$8/!$IC%<XP,328B@*
MIK6%@!\KF>)4A)PJBGB?HJJCV()J.5DW-C5F!EU9%9RE"568(O33@A(G3X6)
M!".?ENXF4;9T6Q8I265I!_%3\:V0K5W$X2(@*B:":F^RXG0-4>(R:FL7V<0$
MT.P>.<%-NK.*8^X3S"6W4>\RH>A]Q10M<!YK:^$13Y-@KA5T3YKIT<[K"WG;
MN.^>]X]#QVGV:N],U./?FK1CGS";'";VH!%FZZ)45%L4+<LFG .J42P]CAAU
MB;!TG>6,"2(22T>#*7.FK4N4JG@=A"QI74AZ"WQ31#;!2-FOCY93WU82JC*9
MVI^BKJ;V:S?I?]"'<1T=2X4-<='P\<JGG&^NX]V[+DFR??^GEWT+'+D%&H\O
M"[&^4Y-;(_YW]I;'/0<7(84_[#/=NMM(G9Y8H4LLMP!^J 3%':>N#-R3TA=T
M^JBS"="+I3&R0&_E"K3D#&MQ&3>QNNSG"$UW= <6BB1KN,:.+[#WMI;QZ5#]
M%;AM=K^(IU'S=@>\.1^H#^@9@+AV.*>"8>7_Q!)<]K"%6(H]:!NB/LDOV!OE
MC&9PM>O&29:A$>7TWKC(GD:(RYTKBG]G58#MM^^?HK"[HYBPH01>37J%)DC9
M9T@XT?JB\3Z:+[QI=#WVWLW&T8]V[WS"G5Y?+6;/:'GF*?GP1Z)M')A>W]Y]
M>/2&$G9Y_I,'HNC891J7&?>GX'=02P,$%     @ S5O,5A=90&EC#0  =9@
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
M/M]GU7EM>RV:7>19!'#K((_;O4\+6AK%0F722U)V?'_]#>5'G%B42,FF&."
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
MP3.;R4!8/R.%9;*N@-!^00K-PB8'(OT'4J0@*PJ(\5>D&"MW1J!K>??Q,(T
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
M_GRST:=B=C1=M-CM@[PKZ !<048=,A<:O.EM@H7)2!V0M>W)NR?O0R+OFBF
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
MR:9%-VG*8$%\RO(AIRQWDS2T)RNH;/]2KR><L^U4" %04@T5EFLY@N\>:?)
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
M+9.L^@5 W0.'.!7"4><KBLW-+,80%7?PL'>[,SGXS=5F<N+"?=J:G( ,$%L
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
M,L#NLTG YFBAKNR/H!Y* S:S_KP+*E:*1Q7=<(LBY2<]J5N@PKVF:!FL$::
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
M8XU#Q^ +Y(&B@.SK9%&0@-FIK<X(7=6>WT+J#*HHA4I+955+*,@>;B(]#,%
M_T\IBD[DLA<.5?/R@8\G5MK.]].9#6ZR11Z^*)<1L[L>4,;3 'XWBGI3?E>?
M6F7Z'3;#2@??URZM)02S5SN8'6+'WLNLF) -(1-B.C]7667&XL707/5W;9XM
M:+Q.Z?5\LP&<5 09M>GI^SGVBFV(QGF5H)H.R#_;4#(A-2VAVX*C%X4-Y;1'
M+T]MM9VD45%<S\4E5Q'@K1V/]OE(X#JO? #X0/P$QI!1WGK6LM[\\A?GS;+'
M>YHO3^E#J;4GU(.Q,=V=0+U%<G=B1\5O6YH'JF=U]CCEWRU%R:D)H2^S=!V#
MS= DH"=9449I&NZ:IQ$=UH^/H2WO?O:V&RO;M8;4J0 B7"7=VIQ[N:QC,CQ[
MF)L6/<"7M"CH7F.43Q$4.R]?E:8C[F.$S]@<B?N\+*!D4B>)MVXR#3F]+4>_
ML\4YH3G6=1KEHM%Y[17A=LM\7<*_5G4/'9$*OE4NB ?8Z1A$V$.:/ K$ 4("
M$'+*ABU'@(M?$U]T0_.F8%HR.\[BTR1=0PW@?O= %+3!U\)>6'W>$AO""*>,
M"-(F1! G1+TF;WP71]PJ=MXC!RR-]^L Y,04-]$KT*2Y#'0-'7@5:(-T?B1]
M.;9S)Z<[+&<Y^T+;S2<8=_6)2U_UR2@<U2?6O=3H>5EV41O-S.\U85^>]+>%
M3F9ZTZ7.UHMJ33+Y!*E'*M"^M$A%@[5NH3XUJ"9@9/IC)$6Z'J$CU!VMG]/P
M*YL:Y-_SJ2'#FAYY]H7*52GP:ZFI4.D4:F0^T=OD<5%>SS\75.2 &9EVDF^L
M6'9[L,,8=GM$#+?K!L_*AEDGB)BR^92300PFYL6LD\F2U*I3LM+?15NXQ23V
M9JNOMNSRW?-S[(7<$(VWUSI#>E#O=\[FBJ[#M,[ 90P)WS2NO<"-NW@<#S&]
MQ9 -Y?>@IYHFP/HZH])@?>D8Q,/+ 2SG01%-H#Y$[6.#]2U0;35WDDL(Y/]6
M+KEZ?MD:"(.8?O]O(7()848,#'+YJ3O"1FFC6097'^DW%BX^![!#7'L.B!AZ
MZ;$PJ^%7G@T19 S3&MQ'<SN=S5,IWQ1VWD:#W^?DFB*YS6DX.@XS]'/+_#A[
M@3)"QTOX"6.3ZF"Y,%!E.$=AK<J(LVZZ6N#"D SNF^I()T_0AXPTI'P!YJM6
M8DUM6;,%".L2[>,(=>'^#!3,-JY31!G(9L"V87<C)OK%Y\+FODV*WZ^$B7T]
M;ZS9?8NQWT>8VY,6N&NI,:.B]_W*P;P05N,.&03HF)"K^EHU)Z.:'>XZN9U,
M<VVL@NPB,MN9>LZ)) \TFRV64?Y[@/NDN1(Q'(_'84ZV?#J_TBB_YSB'NC</
MX#CV<V[PC<*$["+,I>=SP.P1^Q,7KN^^ #-1*8T(=Z>$R:-4X7.^=A8TN W&
M@P(#NC'J+]#E6GUQ<\=I[_=?GO;N2")2>0]9'.1J9_8N;_"%A6M>H#=Y!0E#
M/:(AWN/WW+R'K_$3$LTY7-*JCTJ.ERPODW_5'>[%-3CX/=?@R=Z8U_NZU9[<
M)?\7_V7S*_X_#QP<_\W_!U!+ P04    " #-6\Q6A/+TUO@Q  #S;00 %
M &]C8RTR,#(S,#0S,%]P<F4N>&UL[7UI<^,XLN#WC7C_H;;V,[NNOFIB^KWP
M6>%8E^VU75UOWI<.F(0D3E.$&B1]]*]?@#HLRP20( D0A! QTV5) )B93"3R
MQC__ZW&>O;G'M$A)_MO;#S^\?_L&YS%)TGSZV]MO-]'!S='9V=LW18GR!&4D
MQ[^]S<G;__K/__A?__S?4?0%YYBB$B=O[I[>W,ZJ/,'TF,SQF_\^O#Y_$[WY
M\.$?/_Y\]?7-M]NC-Q_??_P4O?\Y>O]+%/WG/[,T__,?_#]WJ,!O&!!Y47_\
M[>VL+!?_>/?NX>'AA\<[FOU Z/3=Q_?O/[U;CWZ[&LY_3<K-A.W!/[U;_K@9
M^FKIAT_UV ^?/W]^5_^Z&5JD30/9HA_>_??7\YMXAN<H2G-.D9C#4J3_*.HO
MSTF,RIJ,2A3>"$?P3]%Z6,2_BCY\C#Y]^.&Q2-XRJK]YLR0=)1F^QI,W_-]O
MUV>;9_)_WG%2O__QT_MW_-=W#-(2SW%>1CDI<?3AQRC'#Q&*8U+E)7O/T?+E
MTJ3@ Z(G7$8H(0OV5AEV]<-F%$]^>TOB.%JOS,'Y/]T7+I\6C*&*=+[(\-MW
M6^@M*"[8PC4]S]D7J_$<'[.H+B'"CR5FO+RB^!JHC,0O",(!*-:<5^#XARFY
M?Y?@M :*_U&3JR85^_#'"0.A?&+; Z7Y^G$9NL/9;V]%/R^AR3AC$;HB4$_0
MG.,IRI;//'A,BP: !"-T8'K%,NR+/R[8JRENR6F:LQV4HNQF_=**@[NBI"@N
M=X#1F]2:9A-4W-4;L2JB*4)+WGJ'L[)8?_-,P=47?QRG19R1HJ+XEO',(5O_
M3P$2&C/&BT'T<1 <+O##P6:/7U&2LS_C%7?DR=$,Y5-<G.7;8U+&14SH%!L4
M!,CVN;15FFPV"!.?^(S]N;O%U0.'@?<6W658!>N+03(XMP^2 QJ_(92I*+^]
M96H.^V6"*<7)^?(9PB.Y/EEJ0-@#:[7B'YS_<?+;VY)6&R@0C5\<3Z\76HUX
MMT"4'U'Q+,TVY\Z$DKFVI",PRK#G&J)*R11'?&Z%- !V):UDE#GJV.$9V5%-
M5*K%V)%7L#\!:#)@$GP8*PF@DMX79H"H6,3D$?],R'^^:S1G^C'D/D4QJ0%B
M%GN*-R\3:*T)9ILVR:2/#797L+M VN(1F<_3<K-'MSFJ8?<+M,EVBXS7.AL_
M!@/9E\&6&J$V$&RI8$L%6RK84L&6LFA+=5&I[%A-OT83E-+H'F45CN88<8!J
M>/7,)^4RANTHX/.#014,JF!HC,;0.&5[^G>^I9]!4T:H0'."N13,I6 N!7,I
MF$O!7 KFDC/FDL;9;2FF%$WKE,Y,,YBT.\UT%*GY><':"=9.L'9&8^U<TBG*
MT[]K67!$\H)D:;*4]WERM24G+B<-_ ,/\YEZ3+"I@DT5;*I@4P6;*MA4P:9R
MQJ8R>]P;-\,2$E?U'RA/(EPS>93F$T+G]2/ =AEP'7.&FA8 1BRW _;XA(-P
MFJ%I@Z74^+M!V^V("RR*T1%)=C6BW9][T,@!\%24[[U3QO,H^Q=&]"1/CMGK
M:X)-,=0@E,<K/EH^^PK3E"2G[+LFVU<YUAJ<G$8P*%^-M #CV?,^%-D3T.%V
MH6VR)B!#+4"YY#;Q%FH<9V6?KY_\_RI$F8J?/5WC!:&[?@+)2*M0WE*4%RE_
M@THP=X?:A9,]0@8;^]D*/"M%.$G8@5VL_N&[](/06=DPUCZD_+2[I+?D0>Q4
M?372/I17A"DTV?^D"\&9+1YL']9:B[VD5Y3<I\O6!%)H=X9;A/>(;0^*LC.F
M\#W^7_PD!%0PSCQ\9#XG^4W)E/^;&3-/BLNJK!L'I'F3&JF>9).V2T5M*0_9
MH_E;;E1"9,,MPNM*7&7YN),YIE-&AB^4/)0S]DH7*!?SIW2T<5A/TPQ?5/,[
M3(4 /@^Q^$;Y0^D1DRU30L6T:QQE'+:S/":4L7JM(-8"\(C7]-$GJ7@'S;(
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
MIV \!>-)QWAJHQC9,:)^CC*23YE0G4<)OBOKLE;^0Q$MT%/K=$7=50V;5^W
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
M'H.!?AX<TM"]3T,/:=$R/=C1W"*CDC\D^?J?Y!O2.T,.EMD<+*]3: !4,96
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
MUH+#X@L2V=M#]EPJ<II\X5[,% WWTJ\H@=27#"09:%<U4#G2/R5O[*#9M+U
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
MU5808T4.[]:%U]K_GS5(B5A5/SC1:E6U/8,Z'Z/OHQ@!/]@QK &U"7MEQC
MNL)E;-$,^@8^LH>HULA?U@"&:K)-ZMG-\<_'U8B"^.QXC*;)4$.=4)TDPJ<5
MR7_E&M2^[;E.UOA6ZT#T1KU2;;2G7IFF^]CB1)<50'+L@\ZTV0"?&+D'::I3
MF-3>DATL-">CJDQF1.KTB/ &,C8(P6-R<'(/C.&!/PDC"*U1YH$!.@!).$2S
M%#Q)N(.K,U7[^/@)V0K=T(X1''WYC*_9I)6^DG4ZWVJ')A<W/\-Q5&S6#8[H
M,'#C"Y[UU(NNO&FA/C,O 'O CHCUZ :!VX]>HNN'S=#(A:]L4*'.#PY>4PQ)
M?DZ-'CFSJ>\G1(_<L[]QVV;*/IJ8=^ .=F?2'N4"XG[4?W3M_9_O=>2,LE?P
M-YTG^-TA+ST+"#X6"#-6889U73KPKZ2?(DDY4K5'SA>Q?FJ$P2A8-9XZH!#'
M)0/JD6=J#P5VY*Y@:*6UBG@H9*%XH3#\<W;V3E<D1L]YQ&6IL)@J"!T@,\;F
M]C7U3?KGE+']S78?P;3]3KV?+,CARKG]S9+:.3D.K%;GK\1:EP8&$AY'Q.@Q
MXR>!^W^"\&(\JH!V2BK"]E']1'K4Y^%BDU#;A@]Q*P0-GS^'%IH]8.T\LN@&
M>&9B^>@8JN ;$K']DS*;8HJB380?XQX$,>%3T"%XZ\!C!N,:1=4(WZOSR4=X
M'I"<^$,0LW[/Q3!?',\/>C28'/L+S8Z2A[SYEZ,Y?%((=4SR40OG^ C @<\?
M_P,SP/OYK? E'$7T'-P5\OD@^""I'Q!P@TTZ\@_Y4A7ARYT-/0]>$VXYH3P
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
M*"X^K?(V-DA5J5:K^$^@""<N$)^_\7@VF5OJ&V1N:6_=H+]U0PV!XK L5":
M8_D^GIOAK>N&@1_ +Z!\=]_#*8GAEP=OD44W;Z^Y%+C_B2R?A^B_F.>:U.^E
MP5S1#Z(:3+7C,D7B)< *!I@HZ7#>KF_["+!2^P>E,E?.W'[?=1);18BNN;,-
M;YDGU-'A2SC$KMU;ZLW"&>HU5,\OX$/[S)E$FWB$<V=;;6"$:*V]:34L8,&U
MYLOQ>6M::S3?VO.E-6QFA/7J$L:;V"X2TZ,MVEU?=K:7_,5%TF*^O;_Y1G<S
M7HOEAMA46HVZHFJB\Y%B6A :D,[ LVRB5T'XPM@Y5<1SG6\3:%N4$$6BEQU=
M$91HZXHJW(W-I\2-$;B/S".ZRFFA24]AO89<>VE/(868F5;<S !P36FIFJ+K
MI:JX)#%6,,:6=A8*PE@#S.IZM509B#*\.:^_<,<":CE8P8MZ#F@CN3V^4YN+
M;9$O-Y>"B0E_'M&]8QC#_I#7TOC*NI:QW/$!M:HTZS5%:VU2Y<A=\ST$MB@$
M,)=66P^PFTI=4Q5-W>2YF#W<2R]A:IB?O[V_^[JP)+(@C\GGV\P4,#DW6B.B
MA9TH+IWH)-2MZ^$;.D'@68_# (\\/+B8%0HOPF)R<,LE-A5@_E*"0*LK]49#
M::BE.@LAD5DL,M7J?%O8Y8*FIJCUMM(L%S2E+Q:O"_K;5A"6WL<@*)(=2,X<
MXXVTY()MB/6D&!5@G6[@Y?R-8HY?^I1-BJX=QSQ+4S7-QJ^^=>18]F\'@3=D
M!]-QVMVFO@3:W$ 3;7.\ Z!)QV3I,RM<7>RUH_*.>SBJU2+.N(! F+8\9:M2
M"?/RP+R(@S#%P7SGNIA^@)^/KCG"\:'K> (73.OYY,.'L>+*-/T4ZZ9Y1CX>
MP0 ?SU\7D9\OLL%L.YI+\K<_H$;\MT"-3KSH>#PX/K9P?<'M_O4XO1YT&+CQ
M!0[I\ KJ:VY)A.L1VA6<7& N8&KT;P?J08Z1$=D8X0NUP^:O,[7_&\/.:/M(
MV4<TB X/,89-<MP^#&K$Z_2XJ.M]9H)M$,"C S=U"7[CQB0&JTG7<BC8=ABB
M#. "-_L.)S5]+C8^B.?S]XD)_7WA&660 ?@CADU]X*G;;Z>_'TRR"])3($DR
M%,5+0(+LLRX>[I*'B1J"IEXP\=U>M^*Y+],7$:/D]MOUC^\S'SR;:2;A<'"B
M14R8_?'A2R\Q<F\[W\XKIW?GG=\KG8N'\[LC0NT7.O)C@8I6HL,R4SHF/1:N
MC882(K*!?ZGR_T3F<?31 ?D\N9#_^"I>2*3&TLOX<'-V93D_DP>;EC^P*:R/
MY=B6PRJ/-HCHK$+B[P/50$G/0S'_"TCQK*!XB:9L@2:PT&@.28%W3%Y,[.N)
M>Y>0=4I(4X7XS+.Z:'QS8>=V"?I7814M>B(D\K3XS;QTBM4F7I6G<@4MFW'Q
MICDON1 -8W_%=+NQ!CF=6N"(^3-R[LLC@A5-%W< [G5@!?A._GN$8'2MZ<G-
M[</E6>>*G'5.K\[)V<W=[<U=Y^'RYEK4&SOE R^OLM1-+\59HJ#.T@KJ/E%+
MR"XW ^;QSCU3H<S=G/3''PX=FA9,]-,R2G<]EEA*%CM#VT;QO##71]\'\^(A
MJ@<FT-G+CS@;T:CR0-"$&'@C_%-H8&=C9W031#?>MB\*VVK9M$",__< (I"1
M[_"0GD_.@=9F*.W2_]:QGR'IN09ZWENO,TBY"3+.'QJ6LJ'H]*MMB9#D5,AF
M),<&-Z@D!.:!0 []MT;[=R.#- G ^'^XS_+.Q(^D?IKZFJ3^NZ3^-.-+LK\/
MLFLE(7N)LV'B78&Z-COFMH84R6L6$)_:>U&E5>#>S]K";V\QV7GBL(T9):!H
ME:JZP(&R9^8,V87G]G'G!-_P+ROHG0U] #'SDB3HCN\S^)_Y0%^7.F'65AKP
MKZYO<M_^762BE!>>;0$\M3$\M3+!LZEHU:I2;Y8J!U_"<XWP5*M">*IJ":6G
MWE3:55W1U%)UN)?P7"<\50$\U3$\RR0]=55IU*I*JRG;SY4O<9TG O@![O4_
MN:[IHU]G[H&=7MBI^@TP^6J'ZE55*\#01Q#<=+\A!# ;EWG/EL'\>P##4@:3
MIK3T!OS;9&-363%B#[&M%^ E%(YMM=%45%V3V);87@7;M0)<C&*QK=64>KNM
M:.UMGI^0V-X#;-<+\$\*QK:FU!NJ4F]NLJB=K/93Q*':6IV_^9OG^CX9>&[7
M"G;?12D'G^<R<*, IX(3[);3:QF.;2C-EJ8T-WJ8;P_U3LF!UBS PE\1:'6E
MJNM*K2:!ML] $^V'+FINKP@T55?TJJZTU5(5UI5(*QAIHJW-18W?%9'65JI-
M=.1*M6,I8^[QNMPS7AA.(4_,81ZU>2T8:O8MQ_(#/''WS A['>#YO#W(FBDW
MNVJBK=Y%3=V(H-]"<H*[VLD0\SRDY7+&2:.!]?[;9>)DB<&",2C:SUW4"EXG
M!JMZ S H$PSV&8.B?<1%#>3U85!5%7 6E5:YFE)($!8,0M&&WZ*V\_I V%9:
M:D.I;W1?6X:+YS:K[]P1M8-1;#HKQ&$R4KQNCA5M8\YK/KN&<101+<I&6YXY
MB0]3_^V@@H'C>G.3N_-22VP:<Z+MQ7G-Y;5A;J/%-27F-HTYT8[8O.;Q>C"G
MZHI:+U6$3X*N8-")=L?F-8?7!KIZK53-)V58.5Z73A^;D?S%*[9A2K?E!-1Y
MLK"6&/5]%NQ!+/D]95%I11SA3&/BIGN9(*+# ;'D+F:CM<EPM,P0W$-L%W'^
M<PW85D&[R5,+$MNK8%LOXO!H\=C6&DI;E=B6V%X)VT6</%T#ML$FT65F]XZX
M*I.9W9>.X?89^6B[OO^)=#VW3]S<RM.[)Q_*P?BY'%W$^=&H4#CVND127@$A
MES*_%+5:A7\RDKH7@/N8@[@B3G46@[AQ7$M3E>JV*VA\DI!;DXPKXJQE03).
M4]1:0ZG6Y [E7@ N3\85<0*R:!G7;-:46FF$7*GC]C=!CWG$B@S3**'D$\\H
M.1(MUWJ +)\JGRJ?*I_Z/I\JHR6QSKS$^L?,#V1FXT9M.%'VQ:*1D9AT*V0=
M:RWP%QI;SGN7ONG:8"8^F;Q8.*0 F*DM3:EO^XR/A-G:8";><5\L!E( S.KU
MAM)H;3EM4<)L73"KB3:_%PU\%  SO595FNVR2+-2QSHV:LI^HY9#$"V./_2H
M8S"LZ&0P9OK$8P:SGK%+NNL1D_;I$\-6ZO#Y -9JQ _)LS^'U@#[TTKK=[TA
M\YIHHW]1X_>',_2'U+[Q+IVN!Z0#NET&K'\9T_XV(OUR>X6-=D/1VJ4ZBR=1
M6# *Q8>2%[.-5T7A7\QS3>KWT@"LZ'SAM*I:.Y8 W&, BO>J%[.:I1B4*%P-
MA:+]ZT6-ZO<D!F7H.%X7OI&Y)_'B_4RTS7.D11D$"^?E(?6O7<?-9A(4<A!0
M4_3MYA+D]&3<X=C.^P*X^$3U@FF ZP.XUE8:M:TV+9( WPV Y^!;7-IXP:3#
MHO%]4J\I+6V3![CE,:!=QG:>\!9M6BZ<W[@^X5U3E:JVU4VFMX2WW!(0G@6:
MD7@I'9ARBH@<"2':;U[4?RE4\ZF*WFXJ;54J/XGLE91?77S >S'/94U."_:G
M:VZU/H_T6G8#W#G8%I>B7LQK*5ALJ^V:4M-D4SJ)[-7$MF@S>5&?93UB6V^I
M2DO=:HW_]?LK>[&E,KMVP2,#TK/8?0GHJ^S?L>Z]T;IHAW[Q+/WX@.6%Y_;/
MX'&6,P1FN$G*4)QRRH;W/2!=SU\#CX) LASJC7 CU0?1@ /Q7%Y^/,YA7.Z,
M<*W=4JJ:W-3?"^#FZ2/QJ?1%$__+A-R4(Z+KBMJ2AU9V';LYT!57X%[T,$&9
MH'NB*Y@S7FO(BLI[ =P\H2O:=5[\?$*9D)O*R5!@?HJV[?XD<H]#<((W]@CB
M,[SDXR-S6-<*/NV^A["?880< 5+,J>!(,$3!@],0"LNHK69-:>N;3%.1L;%=
M!G6>6BSF$')1J!ZKM#I&?\L<%Y/ +@>P<W!=S*GGPJ2U6FWB+K04UQ+5*Z"Z
M4<PAZ^)L$*5>+W]6A=S!$.Y@7+,@R;?BNQA[X(^\R7 Z,)SI#K$US@3'_5>Y
M)$/^0'-$0Q'GM@$2JQ8YK6FZ4FUM4]'I^ZKHW@.X<]R41A'GP5=%=VJ30VLJ
M[>T6&1'"?K?=D_> [QQX%W':?&7AK2NX>5=M;A+74GCO$;CSA'<1I]B+$]ZJ
M ORF-%OEBB[I\I2(> =ERDTA P9KTJ,>/.:4^I;!"T29ECT,F"E]F)V0%#F"
M8IFC[[?,NT<P3 J,<^HYP&!^_#F'RL*"X_+ZXN"D>KC1\IA2)^X1TO-TXC*'
MX-</];&6K!Y6RW4&7OHWNP#W'+0O<R1^(X*])@6[1'JA@GV9 _*;%>SJ5MOL
MS>GY?("?CZXYPJ%16/X3N&!:SR<?/HP]C[2CD.-<S#/H,3\,\/'\=1$.^"(;
MS+:C02=_^P-JQ'\+_*")%QV/!\?'%BZM6JW^>IQ>'SH,W/@"QW9X!1TN[@J&
MZQ$ZAIQ2X._!0("NZD&.EQ@YB>$+M4,@YBSW[8UA9]RUR%N+:!#*E7O&"#7
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
M2Z=76[OOTBWDK4_Z'V]2$OTX;24_;NWCNP^ HB!&,6B".AT[0(<<=\/YEN,
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
MG@.9+ !=QS!PHO[BZ0P:!MX%]3ZBLA/TZ<EC3[RFRC  &\;A9DVTK' /BP:
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
M;.O 0%L>&) '!DJ;"5R6Q&]Y8$ >&) '!DHK)K;C T^$%2,C,+3R#??)F?9
M*Y,>Z*2==M_#U";N-*1#+=1)HBVQ\Z)J89C"1[^(IU[G&Z)"Y\N?>E6//K/P
MH97 K:2#(/ON?DR24F2HY_<-J,_*C#@-#S'<]Q@+KC#)#;X71KTP;ZC#GSW/
MWG VT'6' [SI_O 9?\)2U?&;;:6J3Q=TF[6)7I_5Z*FT,VTT-$77I@N:D!?&
M WE<C/"(52:7:RKQE:_,=!X'N#:#, G7'AV222BEO;I\"#5FY>7G+FQ<=>(V
M;(33<<Q.F')^-7[IXBL>?WFT2D&U=EUIM1<#5V-6F8/9X!J7O"EFYBN6T-';
M2EW0_VX:;TG9@;B5$4\JC(X-1++<#^,/;I1L&P\L#:PL!I5IY"X-2Y%D>Y/?
M2PS+>EU16],=06;"<GF95RY8ZLV:4F]N%Y:3TG,:F+$5E3*AS/&.(M_>BPT?
M?+\/!G;T)Q,8V.!*!+!.N<1MZH+#-2!SM,DDHOFI=1Y.8+DV5VU%K4V7H9P%
MS\D:)+EI4!N9@:9J2JW9%%1JF:TE"Z6Z]B;5Q2=$$ZIK&Z:ZKNCZ8D)I\BSE
M=(N?C5*]VE :C3>ION]>!+I981 0'3!P[^A3>N-P(LUASFWSV43[5_2Z3OBV
M)%DTV0U7XTUP//F9OPFN-0XU\3:XGQS;FIJ::?E<3X1;!JDY38)UAF'WQLFW
MF;/]&KT?#\)%Y]^6.OS6/)PV5']%#WKJS,'>0_@B.G62D;A"Q8JH"/T?@_H]
ML!2L,&%G,MDJ;6B^(99;(K&\FC*.NL@M5]X*M;&@XODLN=P6R>75-,MJ4V@J
M+4%UNDEUO S9^4&HT':<G9;5KN?5.VTW"EBMB0#!S2-NJC/STCE_-7IXVAP3
MBL3V=,Z2<MD(R_KB>J;/G$P*/8@+QQ641@T3SH1QHVA O(A"-"3.*9B2-H-;
M]E_6A+GW_W][7_K<-I+D^WGVKT#XV2^D%Q!-\&:[MR-DM=WC75]KN;=W/VU
M9%'$&@0X."1K_OJ71U6A</ 418D4)GJZ*1)''9E9>?YR*Y?;<%E&\:X<469Q
MP [<4$ZW9S<W](D,ES41>ZKS[#=!Z%24F3R$NRU/1&MY-7K-906!]_)J2-?$
MIHN^$]=&SP8=;Q/BZC67P5<^D&>C<MKW\VLX:',V*ZSF1W2W;46653)M)\ZV
MQR3+KMVO:/2^E"RWEWE/BBR!&H9.!4<^JKM-(VYE'A>?(NL27V"2(]SE"GO/
M<7:@L)M+KT9W'V^*/>A4^#B7T)O3VH$';<>S:-O]09EKBCL\J5+;U_"*[IH,
M^CM0XW>\@"V[M9GIUG,&.W"I[7@6';O7+,]B1V30VL[ND\GUG!*Z"_(I-HB^
M-_\5=-AS8\#;;,*"45>12^L>LF_'H^[;[7Y50ZL2!J.B@561E >D@&)/GWNS
MWEXHH-BMY=YB;\>C=CIVOU,VPQX5K/W1_/*5;G@E.//$ZFWMF^>2M-R6EASR
M+Q3U=)?YXSL+BM(R;WS>^>XM\+WWVE71Z_5\[^79F [W72)@UJ[V99*WZ&$O
M4ZPR NY6"=I.E:K[-!7VB0G'M41MZ^PB@F].Z:M"?+Z/XWU@#_H5"6<X*8TH
MO?;1NTL"V+6N]6"VSOH$4*V(;3^EG1" T[=[W7*C[ (%U#*N:5=&$>]!XMUJ
M<_XI6J/KDGBW2L;=9TH[DG&=7F]',FZG!% EXYZD(;\^ >S:-[$;&=>S!U5Y
M2^O+N(>6/_NO^UQ5GIE[P::UFD[SN,LS95FF)<LTJW>EKM7<H AKETK$4ZVQ
MJVLSZ]K,NC;SR8B%Q\8/R2H<"Q@3UC@5$M!*%CQBMCE0K)^YK:N1.-Q88N?'
MO^P7I^*^4*?Y>/8G-R%L<3IUBA"GO7Y_!Q"G\B 'S9U>H@_=O.+DE+0K^D8>
M\X/5JM%2+ML>4I7[CY=15>_!X7).O=:K$LCI@\H-.!;-I$Q:$U#>0\:_^X7Y
M /6G-Q:=H/#/>P;G^V_A1GQL7JF\QF4PKMO/HMC/G9X*"B>^$GORK$0YV6[M
MREH]T[?N/N_,?UITJEG1]=4)G ;XS^G2[;N?>).3RDD"WA)4;52&:+8G$JEV
M_\/Q#:C<Y>"^]]@?*5[,[:@FE9H ]T* TFWP5,CO"5"?Q(7^V^J3I,*4QBUM
M-;$E4GL _^IV3W=YWNSYC*'$ (3[=M:%^W9>W8=WELF!G;R@S)PO?GNY[&V]
M';\NI^^3NO1F4?Y!L8IQ06BWJL] !72JUA*51_#W5'R&1W^_%?Z-8#MI*]=W
MJVDWN^4 WUZW\(&IIB9+@RPKVWQN'(1[,')T[$Z[*B_JT:CQ_J=)MTL'R3&<
M)IW#/T+6><%CLN<2I)G=G!IH0'Z_#;<*DW4&=FM83IRH#XLC(L#UJL&W.!_N
M0W@M>]![4G17&QG&L="MCX6'YLHE-9$[/!8P#VB[=*J^/1R6$4;J@^&(2'!)
M.>H.#H9M2>\8CX8CLAAZAW\TK.W_78]]RQSW.-[J!5R^!"QU=P?-^S"-MH(*
M;=N]"@"VA]OZ*G_S,9X].Z;Q1R#H34ZR]8INMCS)MJ5MD/=]IUQ^\]1HNS9\
MU+I\QSQGC-3+LBNA.L6HC);#/_J>NDJZ!&9H-X?5-HP\; [MX:"JLK,VAHZ&
M\JI 4'9RA&R7Z0]&T&"?9T=M!*U]3'S-]=92A\6#GPT;)^H<O1Y987BM.]J3
M!5+@84+\?QHJQ;N?([CT?(9_;84S@:#BC^H>64"(IS7E'S#E%X%4[WG^[9+B
MG;8]K.B6_80HOC:A\B94H8#T\,VFU4Z,-O#;.$PQ?;_ </O-&UIS6!MHQL.M
M$Q@V0P%>7OO<[MJ="G"__9TY[6-U%#YGTMYM:L1VH%$#>[A72V\[PI9'W+_
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
MP(0WEKUG 2"I822.Q3]2.)!]O=-C,O*6@YY.]&D>Z],\OPC20(7W^\8&@^%
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
M;W70()["X,A]<%<\S'%$::R\3L6EQ)(>X,5$8@K@)3Z>B9%T.RF.R)TK".]
MQ[0ZZE"F:/?L6%PERI7+AQX98^RTS;Y'^(0Q? OKY:OO!4= @NLP7P)67'#Y
MIBS?.E/L3'-)OEK^H+6[1=2ML_CT4ACW\*/P2ZG1JJOS#LZE+TFE?2S3\A.5
M" ZR-);9@U7>"N4! F,Q0%_G4EW+QF'H.[6!)UW8N#:B8GY:JL+-E-@A%8 0
MR[^(7&(IVV:NC,X@%7+ AXRJ3#;2DH]@NWD$J#:+J@'(2\E*TGINQ=C>D'$6
MD/Z(O!%D?X(BY\6)X3BH2,Z?P>X#$X2C'[+V$592J%,O5)8GZ 1>C&Y?4.V8
MVH '!"IITFS(9S3QH^!\Q.1VQ*RA1"2<LPR"E55N*YYA*5UF;DQ!;2?_XQI#
MSWQVBGKRY&9;P,;CD+V9K&*6//ET4!##C#R%Y1+&J$'"1-U(^VU!K,#5H+.2
MOU0'X0OCY$7"#$EY^AK2.L!&6)&LD8KG(=L0A)>"IQ%H&5<^;MY$!0],YH-_
M=CG*JH.%!0F;8\+%U;(MT")2E-=C+W;CQ&!Y,8?)@#V%%F! GRBZ*C_"Y?K
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
M1K:!#LZ0!Q*MKCMT9@CV@Z:HK,L85:4L1.5O7$%%<CY*4(.&AW]&0 OJ +C
M0R2X [9N-9WA&\(1\\D/A[>!A8;H.UA$B)DCGT/T(V&&T5LW^($D8)MA9YL<
MSE/A<U%C/ *MKV%=X#@PS8(L*9\WCM:3KU"D+$>"-N0,LV3 1G<]!@<R"\%H
M+6CX"Q('Y%ZKG=1' JQ!?OQ@3\'KY#+-9(: 'KCE3G#_<435+V+W.A["OH 7
MV6R%PR3=&Q@W:7YJD0W'@3G3D'#?YK TX_ VD*.N7/T0-[RP^IBB &.*)Q[2
MJ[*:C2T&5F<*XDHYJ2@$Z/D6<W8GTHN,+5(>O,I]DA1/.06Y>< ,<)LFRV90
M03_'>"SS2>5[[I7.),F.*P/PC8^K)B$=4EE*,SO*%A]7SJ#1X6F5SRS^WCRX
M"L6:I9%5'F:H1H(M&1%D6ZQ\1=_$3>C?B,A(U#(F<[P;2=KR-/01!4R)2-(K
M4<4L[I*YU6UC.]<*N18VC 6J8D##W<?I$UE^ \HC&N495^>A/ )92<(J2_EW
MN-[D$#=J0]S?CQ[LSMB3)L"%._=P'T&# #(>(63&42K(&'1G5L8#C><<D')
M^@2= L#<DQ2=Q:#M$9*-O"Y">H[(]1PK0$ 4Z?Q%00!P?%^]BA>5]$WY,'GB
M 07K"(T^AL1/+T[XS?'4YH,7$VZ\,5>.%_+D#"F4,L*E*8A.$!Z267+TY@)4
M CA>W^O\/?YA_ :A$</;TT.D^W6V/ V*^AZ)AQ8WKF-5I?R[:8%D^2$&$HI+
M2E?Q""K :+TT$8]-5T3UH%I.CP=5Z<(N'U=T8]4,-$R+]].:A03P7=E>/#O9
M\K+TH4H$0-2R452B:XFA@:$!C)[RX;M6+A<]*HTEBKN.A)8>TSWFD_A+4"+%
M6[ RW+(D(SKK9V1I8^ZPGY+5M8(1BE7"ID$/_U33*TDKDGYHE !IJ/#_!J\E
M'&N^V]3-JEB0%+8.3 _N<4#[,D>,B8?RZW4YK+!Z2T9M2Z@1-C#D:&GR2V]:
MTU^8>3E8M^G7T:='B3YUZ^A3'7TZX.C32MRF*I&*@JT<3Y?G"[852%SV?*(7
M0V5)5"JDF5J00XN'Y[_LF78_)B9Q%I5_IR+Z&PV*"@?-H5VA-R@W/E,LFX,T
M@68ZIL,A&!=",[E1'J!24<P&QQ@<>KF..,2X6EED!-U<_&'S9/"V0=WK1A'7
M&][Z!;"+='MW<?0E(_RVJ7631D-F!:8JJCS? N8?P7^IA&%E+J!P90>+\>BN
M;$0ED<;<,>Z6M!K(3P]V@"^6^7.D"V[U:JFU?XS29UW"1K(HFV6\^VER=!B_
M'(MYA+UPM!O>+8 IO>P,^]KP7>03RW+PT%@8-@_5+;8;B; V#-+]6*YEU'NI
MN.'NN*YE)CLL(]>%A+HX>^)A"+7;&VY(J.T!HX;FFV"LM8YZ!>?N'6F$-*31
M*$JQ@B%?%#;,1#NGC&= EQ)2AA=UK24Y:K8R'3Q(]'&1'@S/VKT.W-)25[Z-
MML_9!-?'6G\JZQ_,6C9DXD*'VODTV-\AI;,=<*0+'H=_ ;LBU'IVHJH;%]]7
MH='<:^%:"Q?N(2?Q7-BSTO]JL&=_,WVVK!"W-N+O1:Q7.<SU4, 640^RG&8T
M&<F)R!8DD]8+.';#T9/*T.X"U@*R'GES3"DRXD1^&%R?4<A_+*YRK-J3I]=N
MY[V8:[:<=]MT'>]DWLZAJI=%^[D483M20_HOP1%321L&(@B6R\CX):665>:Y
M<#K4C -2*GI%:4@G2,XJ7OF?'K[2<ZUO^)!W_)"/<+^*6Y["@ZPXG<]]BLM2
ME';[UU':C77A1B'0Y9*7RA3%;YI3Y*Y_<F-,A?H*K.7%,>;S?0X3(5_(65;N
M=21D"/D$4Y"4[XAU5#40Y8?2;SQ$UEA%0F]#PE@2UL)=UC;0BHVA!+.*Q"E;
MU2ES@QH-1$9%6D"<[<:P^XHW,R+XI31B4>M*@>I[6".'J#J8D1:EL:YMKDX'
M5 I$'9'9:T2F5T=DZHC,$4=D,"*MXR>9G+,^82*M2MWZ^/'".AF'C+@E^SG
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
M%     @ S5O,5O%3 GG'!P  ="X   T              ( !     &5X7S4R
M.30T-RYH=&U02P$"% ,4    " #-6\Q6:9CKSKX'  #"+@  #0
M    @ 'R!P  97A?-3(Y-#0X+FAT;5!+ 0(4 Q0    ( ,U;S%9M*$$,200
M "X,   -              "  =L/  !E>%\U,CDT-#DN:'1M4$L! A0#%
M  @ S5O,5G'RCIDV!   &PP   T              ( !3Q0  &5X7S4R.30U
M,"YH=&U02P$"% ,4    " #-6\Q6%UE :6,-  !UF   $
M@ &P&   ;V-C+3(P,C,P-#,P+GAS9%!+ 0(4 Q0    ( ,U;S%89YT'6E0H
M 'R2   4              "  4$F  !O8V,M,C R,S T,S!?8V%L+GAM;%!+
M 0(4 Q0    ( ,U;S%;OT24T,"\  &P4!  4              "  0@Q  !O
M8V,M,C R,S T,S!?9&5F+GAM;%!+ 0(4 Q0    ( ,U;S%;5YPEOP4(  .N>
M P 4              "  6I@  !O8V,M,C R,S T,S!?;&%B+GAM;%!+ 0(4
M Q0    ( ,U;S%:$\O36^#$  /-M!  4              "  5VC  !O8V,M
M,C R,S T,S!?<')E+GAM;%!+ 0(4 Q0    ( ,U;S%86/OCP/M(  +D!"@ 3
M              "  8?5  !O8V,R,#(S,#0S,%\Q,'$N:'1M4$L%!@     *
-  H <P(  /:G 0    $!

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