<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:country="http://xbrl.sec.gov/country/2021"
  xmlns:dei="http://xbrl.sec.gov/dei/2021"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:occ="http://http/20210430"
  xmlns:srt="http://fasb.org/srt/2021-01-31"
  xmlns:us-gaap="http://fasb.org/us-gaap/2021-01-31"
  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-20210430.xsd" xlink:type="simple"/>
    <context id="d_2020-11-01_2021-04-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-04-30</endDate>
        </period>
    </context>
    <context id="i_2021-06-07">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
        </entity>
        <period>
            <instant>2021-06-07</instant>
        </period>
    </context>
    <context id="i_2021-04-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
        </entity>
        <period>
            <instant>2021-04-30</instant>
        </period>
    </context>
    <context id="i_2020-10-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
        </entity>
        <period>
            <instant>2020-10-31</instant>
        </period>
    </context>
    <context id="i_2021-04-30_DebtInstrumentAxis-PaycheckProtectionProgramCaresActMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">occ:PaycheckProtectionProgramCaresActMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-30</instant>
        </period>
    </context>
    <context id="i_2020-10-31_DebtInstrumentAxis-PaycheckProtectionProgramCaresActMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">occ:PaycheckProtectionProgramCaresActMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-10-31</instant>
        </period>
    </context>
    <context id="d_2021-02-01_2021-04-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
        </entity>
        <period>
            <startDate>2021-02-01</startDate>
            <endDate>2021-04-30</endDate>
        </period>
    </context>
    <context id="d_2020-02-01_2020-04-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
        </entity>
        <period>
            <startDate>2020-02-01</startDate>
            <endDate>2020-04-30</endDate>
        </period>
    </context>
    <context id="d_2019-11-01_2020-04-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
        </entity>
        <period>
            <startDate>2019-11-01</startDate>
            <endDate>2020-04-30</endDate>
        </period>
    </context>
    <context id="i_2020-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>2020-10-31</instant>
        </period>
    </context>
    <context id="i_2020-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>2020-10-31</instant>
        </period>
    </context>
    <context id="d_2020-11-01_2021-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>2020-11-01</startDate>
            <endDate>2021-01-31</endDate>
        </period>
    </context>
    <context id="d_2020-11-01_2021-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>2020-11-01</startDate>
            <endDate>2021-01-31</endDate>
        </period>
    </context>
    <context id="d_2020-11-01_2021-01-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-01-31</endDate>
        </period>
    </context>
    <context id="i_2021-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>2021-01-31</instant>
        </period>
    </context>
    <context id="i_2021-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>2021-01-31</instant>
        </period>
    </context>
    <context id="i_2021-01-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
        </entity>
        <period>
            <instant>2021-01-31</instant>
        </period>
    </context>
    <context id="d_2021-02-01_2021-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>2021-02-01</startDate>
            <endDate>2021-04-30</endDate>
        </period>
    </context>
    <context id="d_2021-02-01_2021-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>2021-02-01</startDate>
            <endDate>2021-04-30</endDate>
        </period>
    </context>
    <context id="i_2021-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>2021-04-30</instant>
        </period>
    </context>
    <context id="i_2021-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>2021-04-30</instant>
        </period>
    </context>
    <context id="i_2019-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>2019-10-31</instant>
        </period>
    </context>
    <context id="i_2019-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>2019-10-31</instant>
        </period>
    </context>
    <context id="i_2019-10-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
        </entity>
        <period>
            <instant>2019-10-31</instant>
        </period>
    </context>
    <context id="i_2019-10-31_AdjustmentsForNewAccountingPronouncementsAxis-AccountingStandardsUpdate201817Member_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustmentMember_StatementEquityComponentsAxis-CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201817Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-10-31</instant>
        </period>
    </context>
    <context id="i_2019-10-31_AdjustmentsForNewAccountingPronouncementsAxis-AccountingStandardsUpdate201817Member_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustmentMember_StatementEquityComponentsAxis-RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201817Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-10-31</instant>
        </period>
    </context>
    <context id="i_2019-10-31_AdjustmentsForNewAccountingPronouncementsAxis-AccountingStandardsUpdate201817Member_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201817Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-10-31</instant>
        </period>
    </context>
    <context id="d_2019-11-01_2020-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>2019-11-01</startDate>
            <endDate>2020-01-31</endDate>
        </period>
    </context>
    <context id="d_2019-11-01_2020-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>2019-11-01</startDate>
            <endDate>2020-01-31</endDate>
        </period>
    </context>
    <context id="d_2019-11-01_2020-01-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
        </entity>
        <period>
            <startDate>2019-11-01</startDate>
            <endDate>2020-01-31</endDate>
        </period>
    </context>
    <context id="i_2020-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>2020-01-31</instant>
        </period>
    </context>
    <context id="i_2020-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>2020-01-31</instant>
        </period>
    </context>
    <context id="i_2020-01-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
        </entity>
        <period>
            <instant>2020-01-31</instant>
        </period>
    </context>
    <context id="d_2020-02-01_2020-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>2020-02-01</startDate>
            <endDate>2020-04-30</endDate>
        </period>
    </context>
    <context id="d_2020-02-01_2020-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>2020-02-01</startDate>
            <endDate>2020-04-30</endDate>
        </period>
    </context>
    <context id="i_2020-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>2020-04-30</instant>
        </period>
    </context>
    <context id="i_2020-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>2020-04-30</instant>
        </period>
    </context>
    <context id="i_2020-04-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
        </entity>
        <period>
            <instant>2020-04-30</instant>
        </period>
    </context>
    <context id="d_2020-11-01_2021-04-30_DebtInstrumentAxis-PaycheckProtectionProgramCaresActMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">occ:PaycheckProtectionProgramCaresActMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-04-30</endDate>
        </period>
    </context>
    <context id="d_2019-11-01_2020-04-30_DebtInstrumentAxis-PaycheckProtectionProgramCaresActMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">occ:PaycheckProtectionProgramCaresActMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-11-01</startDate>
            <endDate>2020-04-30</endDate>
        </period>
    </context>
    <context id="d_2020-11-01_2021-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>2020-11-01</startDate>
            <endDate>2021-04-30</endDate>
        </period>
    </context>
    <context id="d_2019-11-01_2020-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>2019-11-01</startDate>
            <endDate>2020-04-30</endDate>
        </period>
    </context>
    <context id="d_2020-11-01_2021-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">occ:NorthMillCapitalLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-04-30</endDate>
        </period>
    </context>
    <context id="d_2019-11-01_2020-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">occ:NorthMillCapitalLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-11-01</startDate>
            <endDate>2020-04-30</endDate>
        </period>
    </context>
    <context id="i_2021-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>2021-04-30</instant>
        </period>
    </context>
    <context id="d_2021-02-01_2021-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-02-01</startDate>
            <endDate>2021-04-30</endDate>
        </period>
    </context>
    <context id="d_2020-11-01_2021-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>2020-11-01</startDate>
            <endDate>2021-04-30</endDate>
        </period>
    </context>
    <context id="d_2020-02-01_2020-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>2020-02-01</startDate>
            <endDate>2020-04-30</endDate>
        </period>
    </context>
    <context id="d_2019-11-01_2020-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>2019-11-01</startDate>
            <endDate>2020-04-30</endDate>
        </period>
    </context>
    <context id="d_2018-11-01_2021-04-30_AwardTypeAxis-RestrictedStockMember_GranteeStatusAxis-ShareBasedPaymentArrangementEmployeeMember_PlanNameAxis-Plan2017Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">occ:Plan2017Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-11-01</startDate>
            <endDate>2021-04-30</endDate>
        </period>
    </context>
    <context id="d_2020-11-01_2021-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>2020-11-01</startDate>
            <endDate>2021-04-30</endDate>
        </period>
    </context>
    <context id="i_2021-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>2021-04-30</instant>
        </period>
    </context>
    <context id="i_2021-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>2021-04-30</instant>
        </period>
    </context>
    <context id="i_2020-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>2020-10-31</instant>
        </period>
    </context>
    <context id="i_2021-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>2021-04-30</instant>
        </period>
    </context>
    <context id="i_2021-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>2021-04-30</instant>
        </period>
    </context>
    <context id="i_2020-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>2020-10-31</instant>
        </period>
    </context>
    <context id="i_2021-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>2021-04-30</instant>
        </period>
    </context>
    <context id="i_2020-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>2020-10-31</instant>
        </period>
    </context>
    <context id="d_2019-11-01_2020-10-31_DebtInstrumentAxis-PaycheckProtectionProgramCaresActMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">occ:PaycheckProtectionProgramCaresActMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-11-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="d_2019-11-01_2020-09-29_DebtInstrumentAxis-PaycheckProtectionProgramCaresActMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">occ:PaycheckProtectionProgramCaresActMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-11-01</startDate>
            <endDate>2020-09-29</endDate>
        </period>
    </context>
    <context id="i_2020-07-24_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">occ:NorthMillCapitalLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-07-24</instant>
        </period>
    </context>
    <context id="d_2020-07-24_2020-07-24_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>2020-07-24</startDate>
            <endDate>2020-07-24</endDate>
        </period>
    </context>
    <context id="i_2020-07-24_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember_RangeAxis-MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">occ:NorthMillCapitalLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-07-24</instant>
        </period>
    </context>
    <context id="d_2020-11-01_2021-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>2020-11-01</startDate>
            <endDate>2021-04-30</endDate>
        </period>
    </context>
    <context id="i_2021-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>2021-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_2021-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>2021-04-30</instant>
        </period>
    </context>
    <context id="i_2020-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>2020-10-31</instant>
        </period>
    </context>
    <context id="i_2021-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>2021-04-30</instant>
        </period>
    </context>
    <context id="i_2021-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>2021-04-30</instant>
        </period>
    </context>
    <context id="i_2021-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>2021-04-30</instant>
        </period>
    </context>
    <context id="i_2021-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>2021-04-30</instant>
        </period>
    </context>
    <context id="i_2020-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>2020-10-31</instant>
        </period>
    </context>
    <context id="i_2021-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>2021-04-30</instant>
        </period>
    </context>
    <context id="i_2020-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>2020-10-31</instant>
        </period>
    </context>
    <context id="i_2021-04-30_BalanceSheetLocationAxis-AccountsPayableAndAccruedLiabilitiesAndNoncurrentLiabilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001000230</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">occ:AccountsPayableAndAccruedLiabilitiesAndNoncurrentLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-30</instant>
        </period>
    </context>
    <context id="d_2021-02-01_2021-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-02-01</startDate>
            <endDate>2021-04-30</endDate>
        </period>
    </context>
    <context id="d_2020-11-01_2021-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>2020-11-01</startDate>
            <endDate>2021-04-30</endDate>
        </period>
    </context>
    <context id="d_2021-02-01_2021-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>2021-02-01</startDate>
            <endDate>2021-04-30</endDate>
        </period>
    </context>
    <context id="d_2020-11-01_2021-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>2020-11-01</startDate>
            <endDate>2021-04-30</endDate>
        </period>
    </context>
    <context id="d_2019-11-01_2020-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>2019-11-01</startDate>
            <endDate>2020-04-30</endDate>
        </period>
    </context>
    <context id="d_2020-02-01_2020-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>2020-02-01</startDate>
            <endDate>2020-04-30</endDate>
        </period>
    </context>
    <context id="d_2021-02-01_2021-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-02-01</startDate>
            <endDate>2021-04-30</endDate>
        </period>
    </context>
    <context id="d_2020-02-01_2020-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>2020-02-01</startDate>
            <endDate>2020-04-30</endDate>
        </period>
    </context>
    <context id="d_2020-11-01_2021-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>2020-11-01</startDate>
            <endDate>2021-04-30</endDate>
        </period>
    </context>
    <context id="d_2019-11-01_2020-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>2019-11-01</startDate>
            <endDate>2020-04-30</endDate>
        </period>
    </context>
    <context id="d_2021-02-01_2021-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-02-01</startDate>
            <endDate>2021-04-30</endDate>
        </period>
    </context>
    <context id="d_2020-02-01_2020-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>2020-02-01</startDate>
            <endDate>2020-04-30</endDate>
        </period>
    </context>
    <context id="d_2020-11-01_2021-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>2020-11-01</startDate>
            <endDate>2021-04-30</endDate>
        </period>
    </context>
    <context id="d_2019-11-01_2020-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>2019-11-01</startDate>
            <endDate>2020-04-30</endDate>
        </period>
    </context>
    <unit id="Share">
        <measure>shares</measure>
    </unit>
    <unit id="USD">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="USDPerShare">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="Year">
        <measure>utr:Y</measure>
    </unit>
    <unit id="Pure">
        <measure>pure</measure>
    </unit>
    <unit id="SquareFoot">
        <measure>utr:sqft</measure>
    </unit>
    <unit id="Month">
        <measure>utr:M</measure>
    </unit>
    <dei:EntityCentralIndexKey
      contextRef="d_2020-11-01_2021-04-30"
      id="thunderdome-EntityCentralIndexKey">0001000230</dei:EntityCentralIndexKey>
    <dei:EntityRegistrantName
      contextRef="d_2020-11-01_2021-04-30"
      id="thunderdome-EntityRegistrantName">OPTICAL CABLE CORP</dei:EntityRegistrantName>
    <dei:AmendmentFlag contextRef="d_2020-11-01_2021-04-30">false</dei:AmendmentFlag>
    <dei:CurrentFiscalYearEndDate contextRef="d_2020-11-01_2021-04-30">--10-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalPeriodFocus contextRef="d_2020-11-01_2021-04-30">Q2</dei:DocumentFiscalPeriodFocus>
    <dei:DocumentFiscalYearFocus contextRef="d_2020-11-01_2021-04-30">2021</dei:DocumentFiscalYearFocus>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184359"
      unitRef="USD">529233</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i_2020-10-31"
      decimals="INF"
      id="c74184360"
      unitRef="USD">524617</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:PreferredStockNoParValue
      contextRef="i_2021-04-30"
      decimals="-3"
      id="c74184407"
      unitRef="USDPerShare">0</us-gaap:PreferredStockNoParValue>
    <us-gaap:PreferredStockNoParValue
      contextRef="i_2020-10-31"
      decimals="-3"
      id="c74184408"
      unitRef="USDPerShare">0</us-gaap:PreferredStockNoParValue>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184409"
      unitRef="Share">1000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i_2020-10-31"
      decimals="INF"
      id="c74184410"
      unitRef="Share">1000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesIssued
      contextRef="i_2021-04-30"
      decimals="-3"
      id="c74184411"
      unitRef="Share">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="i_2021-04-30"
      decimals="-3"
      id="c74184413"
      unitRef="Share">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="i_2020-10-31"
      decimals="-3"
      id="c74184412"
      unitRef="Share">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="i_2020-10-31"
      decimals="-3"
      id="c74184414"
      unitRef="Share">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:CommonStockNoParValue
      contextRef="i_2021-04-30"
      decimals="-3"
      id="c74184417"
      unitRef="USDPerShare">0</us-gaap:CommonStockNoParValue>
    <us-gaap:CommonStockNoParValue
      contextRef="i_2020-10-31"
      decimals="-3"
      id="c74184418"
      unitRef="USDPerShare">0</us-gaap:CommonStockNoParValue>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184419"
      unitRef="Share">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i_2020-10-31"
      decimals="INF"
      id="c74184420"
      unitRef="Share">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184421"
      unitRef="Share">7536116</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184423"
      unitRef="Share">7536116</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="i_2020-10-31"
      decimals="INF"
      id="c74184422"
      unitRef="Share">7537087</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i_2020-10-31"
      decimals="INF"
      id="c74184424"
      unitRef="Share">7537087</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommitmentsAndContingencies
      contextRef="i_2021-04-30"
      id="c74184430"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="i_2020-10-31"
      id="c74184431"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="d_2018-11-01_2021-04-30_AwardTypeAxis-RestrictedStockMember_GranteeStatusAxis-ShareBasedPaymentArrangementEmployeeMember_PlanNameAxis-Plan2017Member"
      decimals="-3"
      id="c74184656"
      unitRef="Share">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <occ:LineOfCreditFacilityAdditionalCapacityForAdvances
      contextRef="i_2020-07-24_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"
      decimals="INF"
      id="c74184736"
      unitRef="USD">5000000</occ:LineOfCreditFacilityAdditionalCapacityForAdvances>
    <us-gaap:DebtInstrumentTerm
      contextRef="d_2020-07-24_2020-07-24_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"
      id="c74184747">P3Y</us-gaap:DebtInstrumentTerm>
    <occ:DebtInstrumentTermExtensions
      contextRef="d_2020-07-24_2020-07-24_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"
      id="c74184748">P1Y</occ:DebtInstrumentTermExtensions>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="d_2020-02-01_2020-04-30"
      decimals="INF"
      id="c74184867"
      unitRef="Share">105645</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <occ:ConcentrationRiskNumberOfCustomers
      contextRef="d_2021-02-01_2021-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember"
      decimals="INF"
      id="c74184886"
      unitRef="Pure">1</occ:ConcentrationRiskNumberOfCustomers>
    <occ:ConcentrationRiskNumberOfCustomers
      contextRef="d_2020-11-01_2021-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember"
      decimals="INF"
      id="c74184891"
      unitRef="Pure">1</occ:ConcentrationRiskNumberOfCustomers>
    <occ:ConcentrationRiskNumberOfCustomers
      contextRef="d_2019-11-01_2020-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember"
      decimals="INF"
      id="c74184892"
      unitRef="Pure">1</occ:ConcentrationRiskNumberOfCustomers>
    <occ:ConcentrationRiskNumberOfCustomers
      contextRef="d_2020-02-01_2020-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember"
      decimals="INF"
      id="c74184893"
      unitRef="Pure">1</occ:ConcentrationRiskNumberOfCustomers>
    <us-gaap:NumberOfReportableSegments
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184894"
      unitRef="Pure">1</us-gaap:NumberOfReportableSegments>
    <dei:DocumentType contextRef="d_2020-11-01_2021-04-30">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport contextRef="d_2020-11-01_2021-04-30">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate contextRef="d_2020-11-01_2021-04-30">2021-04-30</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport contextRef="d_2020-11-01_2021-04-30">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber contextRef="d_2020-11-01_2021-04-30">0-27022</dei:EntityFileNumber>
    <dei:EntityIncorporationStateCountryCode contextRef="d_2020-11-01_2021-04-30">VA</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber contextRef="d_2020-11-01_2021-04-30">54-1237042</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="d_2020-11-01_2021-04-30">5290 Concourse Drive</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="d_2020-11-01_2021-04-30">Roanoke</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="d_2020-11-01_2021-04-30">VA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="d_2020-11-01_2021-04-30">24019</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="d_2020-11-01_2021-04-30">540</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="d_2020-11-01_2021-04-30">265&#x2011;0690</dei:LocalPhoneNumber>
    <dei:Security12bTitle contextRef="d_2020-11-01_2021-04-30">Common Stock, no par value</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="d_2020-11-01_2021-04-30">OCC</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="d_2020-11-01_2021-04-30">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus contextRef="d_2020-11-01_2021-04-30">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent contextRef="d_2020-11-01_2021-04-30">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory contextRef="d_2020-11-01_2021-04-30">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="d_2020-11-01_2021-04-30">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany contextRef="d_2020-11-01_2021-04-30">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany contextRef="d_2020-11-01_2021-04-30">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding contextRef="i_2021-06-07" decimals="INF" unitRef="Share">7536116</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184354"
      unitRef="USD">360948</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i_2020-10-31"
      decimals="INF"
      id="c74184355"
      unitRef="USD">140839</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184356"
      unitRef="USD">8636744</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i_2020-10-31"
      decimals="INF"
      id="c74184357"
      unitRef="USD">7561334</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:IncomeTaxesReceivable
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184361"
      unitRef="USD">0</us-gaap:IncomeTaxesReceivable>
    <us-gaap:IncomeTaxesReceivable
      contextRef="i_2020-10-31"
      decimals="INF"
      id="c74184362"
      unitRef="USD">25003</us-gaap:IncomeTaxesReceivable>
    <us-gaap:OtherReceivables
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184364"
      unitRef="USD">3467013</us-gaap:OtherReceivables>
    <us-gaap:OtherReceivables
      contextRef="i_2020-10-31"
      decimals="INF"
      id="c74184365"
      unitRef="USD">23145</us-gaap:OtherReceivables>
    <us-gaap:InventoryNet
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184366"
      unitRef="USD">16832611</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="i_2020-10-31"
      decimals="INF"
      id="c74184367"
      unitRef="USD">17099767</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184368"
      unitRef="USD">365350</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i_2020-10-31"
      decimals="INF"
      id="c74184369"
      unitRef="USD">472516</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184370"
      unitRef="USD">29662666</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i_2020-10-31"
      decimals="INF"
      id="c74184371"
      unitRef="USD">25322604</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184372"
      unitRef="USD">8367666</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i_2020-10-31"
      decimals="INF"
      id="c74184373"
      unitRef="USD">8811863</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184374"
      unitRef="USD">658466</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i_2020-10-31"
      decimals="INF"
      id="c74184375"
      unitRef="USD">665731</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184376"
      unitRef="USD">1787992</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i_2020-10-31"
      decimals="INF"
      id="c74184377"
      unitRef="USD">1757614</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184378"
      unitRef="USD">40476790</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i_2020-10-31"
      decimals="INF"
      id="c74184379"
      unitRef="USD">36557812</us-gaap:Assets>
    <us-gaap:NotesPayableCurrent
      contextRef="i_2021-04-30_DebtInstrumentAxis-PaycheckProtectionProgramCaresActMember"
      decimals="INF"
      id="c74184382"
      unitRef="USD">4981400</us-gaap:NotesPayableCurrent>
    <us-gaap:NotesPayableCurrent
      contextRef="i_2020-10-31_DebtInstrumentAxis-PaycheckProtectionProgramCaresActMember"
      decimals="INF"
      id="c74184383"
      unitRef="USD">1615404</us-gaap:NotesPayableCurrent>
    <us-gaap:LoansPayableCurrent
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184384"
      unitRef="USD">292112</us-gaap:LoansPayableCurrent>
    <us-gaap:LoansPayableCurrent
      contextRef="i_2020-10-31"
      decimals="INF"
      id="c74184385"
      unitRef="USD">312109</us-gaap:LoansPayableCurrent>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184386"
      unitRef="USD">4398748</us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent
      contextRef="i_2020-10-31"
      decimals="INF"
      id="c74184387"
      unitRef="USD">2861343</us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184388"
      unitRef="USD">1793168</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="i_2020-10-31"
      decimals="INF"
      id="c74184389"
      unitRef="USD">1463307</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:TaxesPayableCurrent
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184390"
      unitRef="USD">17710</us-gaap:TaxesPayableCurrent>
    <us-gaap:TaxesPayableCurrent
      contextRef="i_2020-10-31"
      decimals="INF"
      id="c74184391"
      unitRef="USD">13986</us-gaap:TaxesPayableCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184392"
      unitRef="USD">11483138</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i_2020-10-31"
      decimals="INF"
      id="c74184393"
      unitRef="USD">6266149</us-gaap:LiabilitiesCurrent>
    <us-gaap:LongTermNotesPayable
      contextRef="i_2021-04-30_DebtInstrumentAxis-PaycheckProtectionProgramCaresActMember"
      decimals="INF"
      id="c74184394"
      unitRef="USD">0</us-gaap:LongTermNotesPayable>
    <us-gaap:LongTermNotesPayable
      contextRef="i_2020-10-31_DebtInstrumentAxis-PaycheckProtectionProgramCaresActMember"
      decimals="INF"
      id="c74184395"
      unitRef="USD">3365996</us-gaap:LongTermNotesPayable>
    <us-gaap:LongTermLineOfCredit
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184396"
      unitRef="USD">5936677</us-gaap:LongTermLineOfCredit>
    <us-gaap:LongTermLineOfCredit
      contextRef="i_2020-10-31"
      decimals="INF"
      id="c74184397"
      unitRef="USD">4988660</us-gaap:LongTermLineOfCredit>
    <us-gaap:LongTermLoansPayable
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184398"
      unitRef="USD">4692414</us-gaap:LongTermLoansPayable>
    <us-gaap:LongTermLoansPayable
      contextRef="i_2020-10-31"
      decimals="INF"
      id="c74184399"
      unitRef="USD">4853457</us-gaap:LongTermLoansPayable>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184400"
      unitRef="USD">1718597</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i_2020-10-31"
      decimals="INF"
      id="c74184401"
      unitRef="USD">1823632</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184402"
      unitRef="USD">23830826</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="i_2020-10-31"
      decimals="INF"
      id="c74184403"
      unitRef="USD">21297894</us-gaap:Liabilities>
    <us-gaap:PreferredStockValue
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184405"
      unitRef="USD">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="i_2020-10-31"
      decimals="INF"
      id="c74184406"
      unitRef="USD">0</us-gaap:PreferredStockValue>
    <us-gaap:CommonStockValue
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184415"
      unitRef="USD">14144497</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="i_2020-10-31"
      decimals="INF"
      id="c74184416"
      unitRef="USD">14002130</us-gaap:CommonStockValue>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184425"
      unitRef="USD">2501467</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i_2020-10-31"
      decimals="INF"
      id="c74184426"
      unitRef="USD">1257788</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184427"
      unitRef="USD">16645964</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i_2020-10-31"
      decimals="INF"
      id="c74184428"
      unitRef="USD">15259918</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184433"
      unitRef="USD">40476790</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i_2020-10-31"
      decimals="INF"
      id="c74184434"
      unitRef="USD">36557812</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2021-02-01_2021-04-30"
      decimals="INF"
      id="c74184442"
      unitRef="USD">15741114</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2020-02-01_2020-04-30"
      decimals="INF"
      id="c74184443"
      unitRef="USD">14863428</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184444"
      unitRef="USD">27617687</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184445"
      unitRef="USD">27750824</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="d_2021-02-01_2021-04-30"
      decimals="INF"
      id="c74184446"
      unitRef="USD">10921898</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="d_2020-02-01_2020-04-30"
      decimals="INF"
      id="c74184447"
      unitRef="USD">10866678</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184448"
      unitRef="USD">20489081</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184449"
      unitRef="USD">21349934</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="d_2021-02-01_2021-04-30"
      decimals="INF"
      id="c74184450"
      unitRef="USD">4819216</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="d_2020-02-01_2020-04-30"
      decimals="INF"
      id="c74184451"
      unitRef="USD">3996750</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184452"
      unitRef="USD">7128606</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184453"
      unitRef="USD">6400890</us-gaap:GrossProfit>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="d_2021-02-01_2021-04-30"
      decimals="INF"
      id="c74184454"
      unitRef="USD">4589592</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="d_2020-02-01_2020-04-30"
      decimals="INF"
      id="c74184455"
      unitRef="USD">5549501</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184456"
      unitRef="USD">8897516</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184457"
      unitRef="USD">10373625</us-gaap:SellingGeneralAndAdministrativeExpense>
    <occ:RoyaltyRevenueExpense
      contextRef="d_2021-02-01_2021-04-30"
      decimals="INF"
      id="c74184458"
      unitRef="USD">42800</occ:RoyaltyRevenueExpense>
    <occ:RoyaltyRevenueExpense
      contextRef="d_2020-02-01_2020-04-30"
      decimals="INF"
      id="c74184459"
      unitRef="USD">2527</occ:RoyaltyRevenueExpense>
    <occ:RoyaltyRevenueExpense
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184460"
      unitRef="USD">49767</occ:RoyaltyRevenueExpense>
    <occ:RoyaltyRevenueExpense
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184461"
      unitRef="USD">-15031</occ:RoyaltyRevenueExpense>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="d_2021-02-01_2021-04-30"
      decimals="INF"
      id="c74184462"
      unitRef="USD">11011</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="d_2020-02-01_2020-04-30"
      decimals="INF"
      id="c74184463"
      unitRef="USD">10176</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184464"
      unitRef="USD">21905</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184465"
      unitRef="USD">20167</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:OperatingIncomeLoss
      contextRef="d_2021-02-01_2021-04-30"
      decimals="INF"
      id="c74184466"
      unitRef="USD">261413</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="d_2020-02-01_2020-04-30"
      decimals="INF"
      id="c74184467"
      unitRef="USD">-1560400</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184468"
      unitRef="USD">-1741048</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184469"
      unitRef="USD">-4007933</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestExpense
      contextRef="d_2021-02-01_2021-04-30"
      decimals="INF"
      id="c74184471"
      unitRef="USD">180980</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="d_2020-02-01_2020-04-30"
      decimals="INF"
      id="c74184472"
      unitRef="USD">124786</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184473"
      unitRef="USD">354963</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184474"
      unitRef="USD">261473</us-gaap:InterestExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="d_2021-02-01_2021-04-30"
      decimals="INF"
      id="c74184475"
      unitRef="USD">3311342</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="d_2020-02-01_2020-04-30"
      decimals="INF"
      id="c74184476"
      unitRef="USD">1056</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184477"
      unitRef="USD">3313970</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184478"
      unitRef="USD">-1579</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="d_2021-02-01_2021-04-30"
      decimals="INF"
      id="c74184479"
      unitRef="USD">3130362</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="d_2020-02-01_2020-04-30"
      decimals="INF"
      id="c74184480"
      unitRef="USD">-123730</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184481"
      unitRef="USD">2959007</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184482"
      unitRef="USD">-263052</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="d_2021-02-01_2021-04-30"
      decimals="INF"
      id="c74184483"
      unitRef="USD">3391775</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="d_2020-02-01_2020-04-30"
      decimals="INF"
      id="c74184484"
      unitRef="USD">-1684130</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184485"
      unitRef="USD">1217959</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184486"
      unitRef="USD">-4270985</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="d_2021-02-01_2021-04-30"
      decimals="INF"
      id="c74184487"
      unitRef="USD">6616</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="d_2020-02-01_2020-04-30"
      decimals="INF"
      id="c74184488"
      unitRef="USD">5051</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184489"
      unitRef="USD">-25720</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184490"
      unitRef="USD">10084</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="d_2021-02-01_2021-04-30"
      decimals="INF"
      id="c74184491"
      unitRef="USD">3385159</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2020-02-01_2020-04-30"
      decimals="INF"
      id="c74184492"
      unitRef="USD">-1689181</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184493"
      unitRef="USD">1243679</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184494"
      unitRef="USD">-4281069</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasicAndDiluted
      contextRef="d_2021-02-01_2021-04-30"
      decimals="INF"
      id="c74184495"
      unitRef="USDPerShare">0.45</us-gaap:EarningsPerShareBasicAndDiluted>
    <us-gaap:EarningsPerShareBasicAndDiluted
      contextRef="d_2020-02-01_2020-04-30"
      decimals="INF"
      id="c74184496"
      unitRef="USDPerShare">-0.23</us-gaap:EarningsPerShareBasicAndDiluted>
    <us-gaap:EarningsPerShareBasicAndDiluted
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184497"
      unitRef="USDPerShare">0.17</us-gaap:EarningsPerShareBasicAndDiluted>
    <us-gaap:EarningsPerShareBasicAndDiluted
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184498"
      unitRef="USDPerShare">-0.58</us-gaap:EarningsPerShareBasicAndDiluted>
    <us-gaap:SharesOutstanding
      contextRef="i_2020-10-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c74184499"
      unitRef="Share">7537087</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2020-10-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c74184500"
      unitRef="USD">14002130</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2020-10-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="INF"
      id="c74184501"
      unitRef="USD">1257788</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2020-10-31"
      decimals="INF"
      id="c74184502"
      unitRef="USD">15259918</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="d_2020-11-01_2021-01-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c74184503"
      unitRef="Share">971</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="d_2020-11-01_2021-01-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c74184504"
      unitRef="USD">40605</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="d_2020-11-01_2021-01-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="INF"
      id="c74184505"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="d_2020-11-01_2021-01-31"
      decimals="INF"
      id="c74184506"
      unitRef="USD">40605</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:NetIncomeLoss
      contextRef="d_2020-11-01_2021-01-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c74184508"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2020-11-01_2021-01-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="INF"
      id="c74184509"
      unitRef="USD">-2141480</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2020-11-01_2021-01-31"
      decimals="INF"
      id="c74184510"
      unitRef="USD">-2141480</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="i_2021-01-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c74184511"
      unitRef="Share">7536116</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2021-01-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c74184512"
      unitRef="USD">14042735</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2021-01-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="INF"
      id="c74184513"
      unitRef="USD">-883692</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2021-01-31"
      decimals="INF"
      id="c74184514"
      unitRef="USD">13159043</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="d_2021-02-01_2021-04-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c74184515"
      unitRef="Share">-0</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="d_2021-02-01_2021-04-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c74184516"
      unitRef="USD">101762</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="d_2021-02-01_2021-04-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="INF"
      id="c74184517"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="d_2021-02-01_2021-04-30"
      decimals="INF"
      id="c74184518"
      unitRef="USD">101762</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:NetIncomeLoss
      contextRef="d_2021-02-01_2021-04-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c74184520"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2021-02-01_2021-04-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="INF"
      id="c74184521"
      unitRef="USD">3385159</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2021-02-01_2021-04-30"
      decimals="INF"
      id="c74184522"
      unitRef="USD">3385159</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="i_2021-04-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c74184523"
      unitRef="Share">7536116</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2021-04-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c74184524"
      unitRef="USD">14144497</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2021-04-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="INF"
      id="c74184525"
      unitRef="USD">2501467</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184526"
      unitRef="USD">16645964</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i_2019-10-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c74184527"
      unitRef="Share">7458981</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2019-10-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c74184528"
      unitRef="USD">13853334</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2019-10-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="INF"
      id="c74184529"
      unitRef="USD">7385566</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2019-10-31"
      decimals="INF"
      id="c74184530"
      unitRef="USD">21238900</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2019-10-31_AdjustmentsForNewAccountingPronouncementsAxis-AccountingStandardsUpdate201817Member_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustmentMember_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c74184532"
      unitRef="USD">6554</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2019-10-31_AdjustmentsForNewAccountingPronouncementsAxis-AccountingStandardsUpdate201817Member_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustmentMember_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="INF"
      id="c74184533"
      unitRef="USD">-6554</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2019-10-31_AdjustmentsForNewAccountingPronouncementsAxis-AccountingStandardsUpdate201817Member_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustmentMember"
      decimals="INF"
      id="c74184534"
      unitRef="USD">0</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="d_2019-11-01_2020-01-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c74184535"
      unitRef="Share">2909</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="d_2019-11-01_2020-01-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c74184536"
      unitRef="USD">34356</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="d_2019-11-01_2020-01-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="INF"
      id="c74184537"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="d_2019-11-01_2020-01-31"
      decimals="INF"
      id="c74184538"
      unitRef="USD">34356</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:NetIncomeLoss
      contextRef="d_2019-11-01_2020-01-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c74184540"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2019-11-01_2020-01-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="INF"
      id="c74184541"
      unitRef="USD">-2591888</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2019-11-01_2020-01-31"
      decimals="INF"
      id="c74184542"
      unitRef="USD">-2591888</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="i_2020-01-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c74184543"
      unitRef="Share">7456072</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2020-01-31_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c74184544"
      unitRef="USD">13894244</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2020-01-31_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="INF"
      id="c74184545"
      unitRef="USD">4787124</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2020-01-31"
      decimals="INF"
      id="c74184546"
      unitRef="USD">18681368</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="d_2020-02-01_2020-04-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c74184552"
      unitRef="USD">26677</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="d_2020-02-01_2020-04-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="INF"
      id="c74184553"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="d_2020-02-01_2020-04-30"
      decimals="INF"
      id="c74184554"
      unitRef="USD">26677</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:NetIncomeLoss
      contextRef="d_2020-02-01_2020-04-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c74184556"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2020-02-01_2020-04-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="INF"
      id="c74184557"
      unitRef="USD">-1689181</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2020-02-01_2020-04-30"
      decimals="INF"
      id="c74184558"
      unitRef="USD">-1689181</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="i_2020-04-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c74184559"
      unitRef="Share">7456072</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i_2020-04-30_StatementEquityComponentsAxis-CommonStockMember"
      decimals="INF"
      id="c74184560"
      unitRef="USD">13920921</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2020-04-30_StatementEquityComponentsAxis-RetainedEarningsMember"
      decimals="INF"
      id="c74184561"
      unitRef="USD">3097943</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i_2020-04-30"
      decimals="INF"
      id="c74184562"
      unitRef="USD">17018864</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184564"
      unitRef="USD">1243679</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184565"
      unitRef="USD">-4281069</us-gaap:NetIncomeLoss>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184567"
      unitRef="USD">640934</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184568"
      unitRef="USD">775343</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184569"
      unitRef="USD">4616</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184570"
      unitRef="USD">452060</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ShareBasedCompensation
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184571"
      unitRef="USD">142367</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184572"
      unitRef="USD">61033</us-gaap:ShareBasedCompensation>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184573"
      unitRef="USD">-3167</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184574"
      unitRef="USD">-4377</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184576"
      unitRef="USD">1080026</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184577"
      unitRef="USD">-2139322</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInOtherReceivables
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184578"
      unitRef="USD">3443868</us-gaap:IncreaseDecreaseInOtherReceivables>
    <us-gaap:IncreaseDecreaseInOtherReceivables
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184579"
      unitRef="USD">3389</us-gaap:IncreaseDecreaseInOtherReceivables>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184580"
      unitRef="USD">-267156</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184581"
      unitRef="USD">-1058475</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidExpense
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184582"
      unitRef="USD">-107166</us-gaap:IncreaseDecreaseInPrepaidExpense>
    <us-gaap:IncreaseDecreaseInPrepaidExpense
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184583"
      unitRef="USD">-67120</us-gaap:IncreaseDecreaseInPrepaidExpense>
    <us-gaap:IncreaseDecreaseInIncomeTaxesReceivable
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184584"
      unitRef="USD">-25003</us-gaap:IncreaseDecreaseInIncomeTaxesReceivable>
    <us-gaap:IncreaseDecreaseInIncomeTaxesReceivable
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184585"
      unitRef="USD">-0</us-gaap:IncreaseDecreaseInIncomeTaxesReceivable>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184586"
      unitRef="USD">119134</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184587"
      unitRef="USD">-0</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184589"
      unitRef="USD">1538457</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184590"
      unitRef="USD">-820842</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184591"
      unitRef="USD">329861</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184592"
      unitRef="USD">-363032</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184593"
      unitRef="USD">3724</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184594"
      unitRef="USD">5950</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184595"
      unitRef="USD">-55035</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184596"
      unitRef="USD">88418</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184597"
      unitRef="USD">-391933</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184598"
      unitRef="USD">-816234</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184600"
      unitRef="USD">90295</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184601"
      unitRef="USD">81494</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <occ:PaymentsForProceedsFromIntangibleAssets
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184602"
      unitRef="USD">14640</occ:PaymentsForProceedsFromIntangibleAssets>
    <occ:PaymentsForProceedsFromIntangibleAssets
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184603"
      unitRef="USD">22810</occ:PaymentsForProceedsFromIntangibleAssets>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184604"
      unitRef="USD">-104935</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184605"
      unitRef="USD">-104304</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromNotesPayable
      contextRef="d_2020-11-01_2021-04-30_DebtInstrumentAxis-PaycheckProtectionProgramCaresActMember"
      decimals="INF"
      id="c74184607"
      unitRef="USD">0</us-gaap:ProceedsFromNotesPayable>
    <us-gaap:ProceedsFromNotesPayable
      contextRef="d_2019-11-01_2020-04-30_DebtInstrumentAxis-PaycheckProtectionProgramCaresActMember"
      decimals="INF"
      id="c74184608"
      unitRef="USD">4981400</us-gaap:ProceedsFromNotesPayable>
    <us-gaap:ProceedsFromNotesPayable
      contextRef="d_2020-11-01_2021-04-30_LineOfCreditFacilityAxis-PinnacleFinancialPartnersMember_LongtermDebtTypeAxis-VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember"
      decimals="INF"
      id="c74184609"
      unitRef="USD">0</us-gaap:ProceedsFromNotesPayable>
    <us-gaap:ProceedsFromNotesPayable
      contextRef="d_2019-11-01_2020-04-30_LineOfCreditFacilityAxis-PinnacleFinancialPartnersMember_LongtermDebtTypeAxis-VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember"
      decimals="INF"
      id="c74184610"
      unitRef="USD">350000</us-gaap:ProceedsFromNotesPayable>
    <us-gaap:ProceedsFromNotesPayable
      contextRef="d_2020-11-01_2021-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"
      decimals="INF"
      id="c74184611"
      unitRef="USD">27446179</us-gaap:ProceedsFromNotesPayable>
    <us-gaap:ProceedsFromNotesPayable
      contextRef="d_2019-11-01_2020-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"
      decimals="INF"
      id="c74184612"
      unitRef="USD">0</us-gaap:ProceedsFromNotesPayable>
    <us-gaap:RepaymentsOfNotesPayable
      contextRef="d_2020-11-01_2021-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"
      decimals="INF"
      id="c74184613"
      unitRef="USD">26498162</us-gaap:RepaymentsOfNotesPayable>
    <us-gaap:RepaymentsOfNotesPayable
      contextRef="d_2019-11-01_2020-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"
      decimals="INF"
      id="c74184614"
      unitRef="USD">-0</us-gaap:RepaymentsOfNotesPayable>
    <us-gaap:RepaymentsOfLongTermDebtAndCapitalSecurities
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184615"
      unitRef="USD">181040</us-gaap:RepaymentsOfLongTermDebtAndCapitalSecurities>
    <us-gaap:RepaymentsOfLongTermDebtAndCapitalSecurities
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184616"
      unitRef="USD">592202</us-gaap:RepaymentsOfLongTermDebtAndCapitalSecurities>
    <us-gaap:PaymentsOfFinancingCosts
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184617"
      unitRef="USD">50000</us-gaap:PaymentsOfFinancingCosts>
    <us-gaap:PaymentsOfFinancingCosts
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184618"
      unitRef="USD">61181</us-gaap:PaymentsOfFinancingCosts>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184619"
      unitRef="USD">716977</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184620"
      unitRef="USD">4678017</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184621"
      unitRef="USD">220109</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184622"
      unitRef="USD">3757479</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="i_2020-10-31"
      decimals="INF"
      id="c74184623"
      unitRef="USD">140839</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="i_2019-10-31"
      decimals="INF"
      id="c74184624"
      unitRef="USD">537330</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184625"
      unitRef="USD">360948</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="i_2020-04-30"
      decimals="INF"
      id="c74184626"
      unitRef="USD">4294809</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock contextRef="d_2020-11-01_2021-04-30" id="c1876087">
   &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;; font-size: 10pt;"&gt;&lt;b&gt;(&lt;em style="font: inherit;"&gt;1&lt;/em&gt;)&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;; 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:'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 accompanying unaudited condensed consolidated financial statements of Optical Cable Corporation and its subsidiaries (collectively, the&#160;&#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 &lt;em style="font: inherit;"&gt;10&#x2011;Q&lt;/em&gt; and Regulation S&#x2011;X. Accordingly, they do &lt;em style="font: inherit;"&gt;not&lt;/em&gt; 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 &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; April 30, 2021 &lt;/em&gt;are &lt;em style="font: inherit;"&gt;not&lt;/em&gt; necessarily indicative of the results for the fiscal year ending &lt;em style="font: inherit;"&gt; October&#160;&lt;/em&gt;&lt;em style="font: inherit;"&gt;31,&lt;/em&gt; &lt;em style="font: inherit;"&gt;2021&lt;/em&gt; because the following items, among other things, &lt;em style="font: inherit;"&gt; may &lt;/em&gt;impact those results: impacts of the COVID-&lt;em style="font: inherit;"&gt;19&lt;/em&gt; pandemic including (but &lt;em style="font: inherit;"&gt;not&lt;/em&gt; limited to) related government and private industry mandates in the areas of the world in which we operate, changes in market conditions, seasonality, 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 &lt;em style="font: inherit;"&gt;10&#x2011;K&lt;/em&gt; for the fiscal year ended &lt;em style="font: inherit;"&gt; October&#160;&lt;/em&gt;&lt;em style="font: inherit;"&gt;31,&lt;/em&gt; &lt;em style="font: inherit;"&gt;2020&lt;/em&gt; (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 &lt;em style="font: inherit;"&gt;10&#x2011;Q&lt;/em&gt; and do &lt;em style="font: inherit;"&gt;not&lt;/em&gt; 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 &lt;em style="font: inherit;"&gt;10&#x2011;K&lt;/em&gt; for the fiscal year ended &lt;em style="font: inherit;"&gt; October&#160;&lt;/em&gt;&lt;em style="font: inherit;"&gt;31,&lt;/em&gt; &lt;em style="font: inherit;"&gt;2020.&lt;/em&gt;&lt;/p&gt;
  </us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock contextRef="d_2020-11-01_2021-04-30" id="c1876088">
   &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;font-size: 10pt;font-variant:normal;margin:0pt;"&gt;&lt;b&gt;(&lt;em style="font: inherit;"&gt;2&lt;/em&gt;)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="width: auto;"&gt; &lt;p style="font-family: Times New Roman;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 &lt;em style="font: inherit;"&gt; April 30, 2021, &lt;/em&gt;there were approximately 363,000 remaining shares available for grant under the Optical Cable Corporation &lt;em style="font: inherit;"&gt;2017&lt;/em&gt; Stock Incentive Plan (&lt;em style="font: inherit;"&gt;&#x201c;2017&lt;/em&gt; 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 &lt;em style="font: inherit;"&gt;three&lt;/em&gt; months and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; April 30, 2021 &lt;/em&gt;was $101,762 and $142,367, respectively, and for the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; months and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; April 30, 2020 &lt;/em&gt;was $26,677 and $61,033, 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;em style="font: inherit;"&gt;&lt;span style="-sec-ix-hidden:c74184656"&gt;No&lt;/span&gt;&lt;/em&gt; restricted stock awards have been granted to employees since fiscal year &lt;em style="font: inherit;"&gt;2018.&lt;/em&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;margin:0pt 0pt 0pt 27pt;"&gt;&lt;i&gt;Restricted and Other Stock Awards&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 &lt;em style="font: inherit;"&gt;2004,&lt;/em&gt; 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 &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; April 30, 2021 &lt;/em&gt;consisted of restricted stock forfeited totaling 971 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', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"/&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 &lt;em style="font: inherit;"&gt; April 30, 2021, &lt;/em&gt;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.8 year weighted-average period is approximately $249,000.&lt;/p&gt;
  </us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="i_2021-04-30_PlanNameAxis-Plan2017Member"
      decimals="INF"
      id="c74184645"
      unitRef="Share">363000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2021-02-01_2021-04-30_PlanNameAxis-Plan2017Member_TitleOfIndividualAxis-EmployeesConsultantAndNonemployeeDirectorsMember"
      decimals="INF"
      id="c74184650"
      unitRef="USD">101762</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2020-11-01_2021-04-30_PlanNameAxis-Plan2017Member_TitleOfIndividualAxis-EmployeesConsultantAndNonemployeeDirectorsMember"
      decimals="INF"
      id="c74184651"
      unitRef="USD">142367</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2020-02-01_2020-04-30_PlanNameAxis-Plan2017Member_TitleOfIndividualAxis-EmployeesConsultantAndNonemployeeDirectorsMember"
      decimals="INF"
      id="c74184654"
      unitRef="USD">26677</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="d_2019-11-01_2020-04-30_PlanNameAxis-Plan2017Member_TitleOfIndividualAxis-EmployeesConsultantAndNonemployeeDirectorsMember"
      decimals="INF"
      id="c74184655"
      unitRef="USD">61033</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="d_2020-11-01_2021-04-30_AwardTypeAxis-RestrictedStockMember"
      decimals="INF"
      id="c74184661"
      unitRef="Share">971</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="d_2020-11-01_2021-04-30_AwardTypeAxis-RestrictedStockMember"
      id="c74184663">P1Y9M18D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="i_2021-04-30_AwardTypeAxis-RestrictedStockMember"
      decimals="INF"
      id="c74184664"
      unitRef="USD">249000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <occ:AllowanceForDoubtfulAccountsForTradeAccountsReceivableDisclosureTextBlock contextRef="d_2020-11-01_2021-04-30" id="c1876089">
   &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;font-size: 10pt;font-variant:normal;margin:0pt;"&gt;&lt;b&gt;(&lt;em style="font: inherit;"&gt;3&lt;/em&gt;)&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;td style="width: auto;"&gt; &lt;p style="font-family: Times New Roman;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 &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; April 30, 2021 &lt;/em&gt;and &lt;em style="font: inherit;"&gt;2020&lt;/em&gt; follows:&lt;/p&gt;
   &lt;p style="text-align:justify;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;2021&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;2020&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-top: 0pt; margin-bottom: 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;524,617&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;99,562&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-top: 0pt; margin-bottom: 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;4,616&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;452,060&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-top: 0pt; margin-bottom: 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;529,233&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;551,622&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;
  </occ:AllowanceForDoubtfulAccountsForTradeAccountsReceivableDisclosureTextBlock>
    <occ:SummaryOfChangesInAllowanceForDoubtfulAccountsForTradeAccountsReceivableTableTextBlock contextRef="d_2020-11-01_2021-04-30" id="c1876090">
    &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;2021&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;2020&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-top: 0pt; margin-bottom: 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;524,617&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;99,562&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-top: 0pt; margin-bottom: 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;4,616&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;452,060&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-top: 0pt; margin-bottom: 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;529,233&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;551,622&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_2020-10-31"
      decimals="INF"
      id="c74184669"
      unitRef="USD">524617</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i_2019-10-31"
      decimals="INF"
      id="c74184670"
      unitRef="USD">99562</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184671"
      unitRef="USD">4616</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184672"
      unitRef="USD">452060</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184673"
      unitRef="USD">529233</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i_2020-04-30"
      decimals="INF"
      id="c74184674"
      unitRef="USD">551622</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:InventoryDisclosureTextBlock contextRef="d_2020-11-01_2021-04-30" id="c1876091">
   &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;; font-size: 10pt;"&gt;&lt;b&gt;(&lt;em style="font: inherit;"&gt;4&lt;/em&gt;)&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;; 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 &lt;em style="font: inherit;"&gt; April 30, 2021 &lt;/em&gt;and &lt;em style="font: inherit;"&gt; October&#160;&lt;/em&gt;&lt;em style="font: inherit;"&gt;31,&lt;/em&gt; &lt;em style="font: inherit;"&gt;2020&lt;/em&gt; consist of the following:&lt;/p&gt;
   &lt;p style="text-align:justify;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;2021&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;2020&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-top: 0pt; margin-bottom: 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,102,624&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;4,663,978&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-top: 0pt; margin-bottom: 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;3,754,777&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,165,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;/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-top: 0pt; margin-bottom: 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;7,718,396&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;8,010,794&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-top: 0pt; margin-bottom: 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;"&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;256,814&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%; 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;259,706&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-top: 0pt; margin-bottom: 0pt; margin-left: 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;16,832,611&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;17,099,767&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_2020-11-01_2021-04-30" id="c1876092">
    &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;2021&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;2020&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-top: 0pt; margin-bottom: 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,102,624&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;4,663,978&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-top: 0pt; margin-bottom: 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;3,754,777&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,165,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;/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-top: 0pt; margin-bottom: 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;7,718,396&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;8,010,794&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-top: 0pt; margin-bottom: 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;"&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;256,814&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%; 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;259,706&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-top: 0pt; margin-bottom: 0pt; margin-left: 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;16,832,611&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;17,099,767&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_2021-04-30"
      decimals="INF"
      id="c74184678"
      unitRef="USD">5102624</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="i_2020-10-31"
      decimals="INF"
      id="c74184679"
      unitRef="USD">4663978</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184680"
      unitRef="USD">3754777</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="i_2020-10-31"
      decimals="INF"
      id="c74184681"
      unitRef="USD">4165289</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184682"
      unitRef="USD">7718396</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="i_2020-10-31"
      decimals="INF"
      id="c74184683"
      unitRef="USD">8010794</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventorySuppliesNetOfReserves
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184684"
      unitRef="USD">256814</us-gaap:InventorySuppliesNetOfReserves>
    <us-gaap:InventorySuppliesNetOfReserves
      contextRef="i_2020-10-31"
      decimals="INF"
      id="c74184685"
      unitRef="USD">259706</us-gaap:InventorySuppliesNetOfReserves>
    <us-gaap:InventoryNet
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184686"
      unitRef="USD">16832611</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="i_2020-10-31"
      decimals="INF"
      id="c74184687"
      unitRef="USD">17099767</us-gaap:InventoryNet>
    <us-gaap:ProductWarrantyDisclosureTextBlock contextRef="d_2020-11-01_2021-04-30" id="c1876093">
   &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;; font-size: 10pt;"&gt;&lt;b&gt;(&lt;em style="font: inherit;"&gt;5&lt;/em&gt;) &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;; 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 &lt;em style="font: inherit;"&gt; April 30, 2021 &lt;/em&gt;and &lt;em style="font: inherit;"&gt; October&#160;&lt;/em&gt;&lt;em style="font: inherit;"&gt;31,&lt;/em&gt; &lt;em style="font: inherit;"&gt;2020,&lt;/em&gt; the Company&#x2019;s accrual for estimated product warranty claims totaled $95,000 and $85,000, respectively, and is included in accounts payable and accrued expenses. Warranty claims expense for the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; months and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; April 30, 2021 &lt;/em&gt;totaled $37,923 and &lt;em style="font: inherit;"&gt;$56,271,&lt;/em&gt; respectively. Warranty claims expense for the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; months and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; April 30, 2020 &lt;/em&gt;totaled $48,646 and $11,389, 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;margin:0pt;"/&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 &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; April 30, 2021 &lt;/em&gt;and &lt;em style="font: inherit;"&gt;2020:&lt;/em&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;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;2021&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;2020&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-top: 0pt; margin-bottom: 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;85,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;120,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-top: 0pt; margin-bottom: 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;77,122&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;92,769&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-top: 0pt; margin-bottom: 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;(46,271&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;(46,389&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-top: 0pt; margin-bottom: 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;(20,851&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;(81,380&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-top: 0pt; margin-bottom: 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;95,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;85,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_2021-04-30_BalanceSheetLocationAxis-AccountsPayableAndAccruedLiabilitiesMember"
      decimals="INF"
      id="c74184691"
      unitRef="USD">95000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual
      contextRef="i_2020-10-31_BalanceSheetLocationAxis-AccountsPayableAndAccruedLiabilitiesMember"
      decimals="INF"
      id="c74184692"
      unitRef="USD">85000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyExpense
      contextRef="d_2021-02-01_2021-04-30"
      decimals="INF"
      id="c74184695"
      unitRef="USD">37923</us-gaap:ProductWarrantyExpense>
    <us-gaap:ProductWarrantyExpense
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184704"
      unitRef="USD">56271</us-gaap:ProductWarrantyExpense>
    <us-gaap:ProductWarrantyExpense
      contextRef="d_2020-02-01_2020-04-30"
      decimals="INF"
      id="c74184699"
      unitRef="USD">48646</us-gaap:ProductWarrantyExpense>
    <us-gaap:ProductWarrantyExpense
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184700"
      unitRef="USD">11389</us-gaap:ProductWarrantyExpense>
    <us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock contextRef="d_2020-11-01_2021-04-30" id="c1876094">
    &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;2021&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;2020&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-top: 0pt; margin-bottom: 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;85,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;120,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-top: 0pt; margin-bottom: 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;77,122&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;92,769&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-top: 0pt; margin-bottom: 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;(46,271&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;(46,389&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-top: 0pt; margin-bottom: 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;(20,851&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;(81,380&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-top: 0pt; margin-bottom: 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;95,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;85,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_2020-10-31"
      decimals="INF"
      id="c74184707"
      unitRef="USD">85000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual
      contextRef="i_2019-10-31"
      decimals="INF"
      id="c74184708"
      unitRef="USD">120000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrualWarrantiesIssued
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184709"
      unitRef="USD">77122</us-gaap:ProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:ProductWarrantyAccrualWarrantiesIssued
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184710"
      unitRef="USD">92769</us-gaap:ProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:ProductWarrantyAccrualPayments
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184711"
      unitRef="USD">46271</us-gaap:ProductWarrantyAccrualPayments>
    <us-gaap:ProductWarrantyAccrualPayments
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184712"
      unitRef="USD">46389</us-gaap:ProductWarrantyAccrualPayments>
    <us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184713"
      unitRef="USD">-20851</us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease>
    <us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184714"
      unitRef="USD">-81380</us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease>
    <us-gaap:ProductWarrantyAccrual
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184715"
      unitRef="USD">95000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual
      contextRef="i_2020-04-30"
      decimals="INF"
      id="c74184716"
      unitRef="USD">85000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:LongTermDebtTextBlock contextRef="d_2020-11-01_2021-04-30" id="c1876095">
   &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;; font-size: 10pt;"&gt;&lt;b&gt;(&lt;em style="font: inherit;"&gt;6&lt;/em&gt;)&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;; font-size: 10pt;"&gt;&lt;b&gt;Long-term Debt and Notes Payable to Bank&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;), a Revolving Credit Master Promissory Note and related agreements (collectively, the &#x201c;Revolver&#x201d;) and a Paycheck Protection Program loan (&#x201c;PPP Loan&#x201d;) implemented by the United States Small Business Administration (&#x201c;SBA&#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 Pinnacle Bank (&#x201c;Pinnacle&#x201d;), have a fixed interest rate of 3.95% and are secured by a &lt;em style="font: inherit;"&gt;first&lt;/em&gt; lien deed of trust on the Company&#x2019;s real property.&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 &lt;em style="font: inherit;"&gt; April 30, 2021 &lt;/em&gt;and &lt;em style="font: inherit;"&gt; October 31, 2020 &lt;/em&gt;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;2021&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;2020&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-top: 0pt; margin-bottom: 0pt; margin-left: 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,644,211 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,991,745&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;4,119,850&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-top: 0pt; margin-bottom: 0pt; margin-left: 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 $1,255,850 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;992,781&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;1,045,716&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-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;"&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,984,526&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;5,165,566&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;292,112&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;312,109&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-top: 0pt; margin-bottom: 0pt; margin-left: 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,692,414&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,853,457&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', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"/&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 fiscal year &lt;em style="font: inherit;"&gt;2020,&lt;/em&gt; the Company obtained an unsecured PPP Loan through Pinnacle in the amount of $4,981,400. The loan was made through the SBA as part of the PPP under the Coronavirus Aid, Relief, and Economic Security Act (&#x201c;CARES Act&#x201d;). The interest rate is fixed at &lt;em style="font: inherit;"&gt;1.00%&lt;/em&gt; per year, and the Company has accrued but unpaid interest of $51,998 on the PPP Loan as of &lt;em style="font: inherit;"&gt; April 30, 2021, &lt;/em&gt;which is included in accounts payable and accrued expenses. Under the CARES Act and The Paycheck Protection Program Flexibility Act of &lt;em style="font: inherit;"&gt;2020,&lt;/em&gt; all or a portion of this loan (principal and interest) &lt;em style="font: inherit;"&gt; may &lt;/em&gt;be forgiven if certain requirements are met. The Company believes it has met these requirements and applied for forgiveness of the entire balance of the loan (including accrued interest), submitting an application to Pinnacle on &lt;em style="font: inherit;"&gt; February 22, 2021. &lt;/em&gt;If the loan is &lt;em style="font: inherit;"&gt;not&lt;/em&gt; forgiven, the Company will pay principal and interest payments of approximately $560,000 every month, beginning &lt;em style="font: inherit;"&gt;ten&lt;/em&gt; months following the coverage period which ended &lt;em style="font: inherit;"&gt; September 29, 2020. &lt;/em&gt;The Company can repay the PPP Loan without any prepayment penalty. All remaining principal and accrued interest is due and payable &lt;em style="font: inherit;"&gt;two&lt;/em&gt; years from the effective date of the PPP Loan (&lt;em style="font: inherit;"&gt; April 15, 2022). &lt;/em&gt;As of &lt;em style="font: inherit;"&gt; April 30, 2021, &lt;/em&gt;the full amount of the PPP loan is reflected as a current liability.&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 Revolver with SLR Business Credit, formerly known as North Mill Capital LLC, (&#x201c;SLR&#x201d;) provides the Company with &lt;em style="font: inherit;"&gt;one&lt;/em&gt; 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) &lt;span style="-sec-ix-hidden:c74184736"&gt;$5,000,000,&lt;/span&gt; and (iii) an amount &lt;em style="font: inherit;"&gt;not&lt;/em&gt; to exceed &lt;em style="font: inherit;"&gt;100%&lt;/em&gt; of the then outstanding eligible accounts loan value; minus (c) $1,500,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 &lt;em style="font: inherit;"&gt;not&lt;/em&gt; less than 4.75% (the &#x201c;Applicable Rate&#x201d;). In the event of a default, interest &lt;em style="font: inherit;"&gt; may &lt;/em&gt;become 6.0% above the Applicable Rate. As of &lt;em style="font: inherit;"&gt; April 30, 2021, &lt;/em&gt;the Revolver accrued interest at the prime lending rate plus 1.5% (resulting in a 4.75% rate at &lt;em style="font: inherit;"&gt; April 30, 2021). &lt;/em&gt;The initial term of the Revolver is &lt;span style="-sec-ix-hidden:c74184747"&gt;three&lt;/span&gt; years, with a termination date of &lt;em style="font: inherit;"&gt; July 24, 2023. &lt;/em&gt;After the initial term and unless otherwise terminated, the loan &lt;em style="font: inherit;"&gt; may &lt;/em&gt;be extended in &lt;span style="-sec-ix-hidden:c74184748"&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 &lt;em style="font: inherit;"&gt; may &lt;/em&gt;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 &lt;em style="font: inherit;"&gt; April 30, 2021 &lt;/em&gt;the Company had $5.9 million of outstanding borrowings on its Revolver and $2.5 million in available credit. As of &lt;em style="font: inherit;"&gt; October 31, 2020, &lt;/em&gt;the Company had $5.0 million of outstanding borrowings on its Revolver and $1.6 million in available credit.&lt;/p&gt;
  </us-gaap:LongTermDebtTextBlock>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i_2021-04-30_LineOfCreditFacilityAxis-PinnacleFinancialPartnersMember_LongtermDebtTypeAxis-VirginiaRealEstateLoanAndNorthCarolinaRealEstateLoanMember"
      decimals="4"
      id="c74184718"
      unitRef="Pure">0.0395</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:ScheduleOfDebtTableTextBlock contextRef="d_2020-11-01_2021-04-30" id="c1876096">
    &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;2021&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;2020&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-top: 0pt; margin-bottom: 0pt; margin-left: 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,644,211 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,991,745&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;4,119,850&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-top: 0pt; margin-bottom: 0pt; margin-left: 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 $1,255,850 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;992,781&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;1,045,716&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-top: 0pt; margin-bottom: 0pt; margin-left: 18pt;"&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,984,526&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;5,165,566&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;292,112&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;312,109&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-top: 0pt; margin-bottom: 0pt; margin-left: 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,692,414&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,853,457&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:LongTermDebt
      contextRef="i_2021-04-30_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember"
      decimals="INF"
      id="c74184755"
      unitRef="USD">3991745</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="i_2020-10-31_LongtermDebtTypeAxis-VirginiaRealEstateLoanMember"
      decimals="INF"
      id="c74184756"
      unitRef="USD">4119850</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="i_2021-04-30_LongtermDebtTypeAxis-NorthCarolinaRealEstateLoanMember"
      decimals="INF"
      id="c74184768"
      unitRef="USD">992781</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="i_2020-10-31_LongtermDebtTypeAxis-NorthCarolinaRealEstateLoanMember"
      decimals="INF"
      id="c74184770"
      unitRef="USD">1045716</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184782"
      unitRef="USD">4984526</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="i_2020-10-31"
      decimals="INF"
      id="c74184784"
      unitRef="USD">5165566</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebtCurrent
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184786"
      unitRef="USD">292112</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="i_2020-10-31"
      decimals="INF"
      id="c74184788"
      unitRef="USD">312109</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184790"
      unitRef="USD">4692414</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="i_2020-10-31"
      decimals="INF"
      id="c74184792"
      unitRef="USD">4853457</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:ProceedsFromIssuanceOfUnsecuredDebt
      contextRef="d_2019-11-01_2020-10-31_DebtInstrumentAxis-PaycheckProtectionProgramCaresActMember"
      decimals="INF"
      id="c74184722"
      unitRef="USD">4981400</us-gaap:ProceedsFromIssuanceOfUnsecuredDebt>
    <us-gaap:InterestPayableCurrentAndNoncurrent
      contextRef="i_2021-04-30_DebtInstrumentAxis-PaycheckProtectionProgramCaresActMember"
      decimals="INF"
      id="c74184724"
      unitRef="USD">51998</us-gaap:InterestPayableCurrentAndNoncurrent>
    <us-gaap:DebtInstrumentPeriodicPayment
      contextRef="d_2019-11-01_2020-09-29_DebtInstrumentAxis-PaycheckProtectionProgramCaresActMember"
      decimals="INF"
      id="c74184727"
      unitRef="USD">560000</us-gaap:DebtInstrumentPeriodicPayment>
    <occ:LineOfCreditFacilityPercentOfEligibleAccounts
      contextRef="i_2020-07-24_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"
      decimals="2"
      id="c74184733"
      unitRef="Pure">0.85</occ:LineOfCreditFacilityPercentOfEligibleAccounts>
    <occ:LineOfCreditFacilityPercentOfEligibleInventory
      contextRef="i_2020-07-24_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"
      decimals="2"
      id="c74184734"
      unitRef="Pure">0.35</occ:LineOfCreditFacilityPercentOfEligibleInventory>
    <occ:LineOfCreditFacilityRestrictedCapacityForAdvances
      contextRef="i_2020-07-24_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"
      decimals="INF"
      id="c74184739"
      unitRef="USD">1500000</occ:LineOfCreditFacilityRestrictedCapacityForAdvances>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i_2020-07-24_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"
      decimals="INF"
      id="c74184740"
      unitRef="USD">18000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="d_2020-07-24_2020-07-24_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember_VariableRateAxis-PrimeRateMember"
      decimals="3"
      id="c74184741"
      unitRef="Pure">0.015</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="i_2020-07-24_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"
      decimals="4"
      id="c74184743"
      unitRef="Pure">0.0475</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="i_2020-07-24_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember_RangeAxis-MaximumMember"
      decimals="2"
      id="c74184744"
      unitRef="Pure">0.060</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="d_2020-11-01_2021-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember_VariableRateAxis-PrimeRateMember"
      decimals="3"
      id="c74184745"
      unitRef="Pure">0.015</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="i_2021-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-NorthMillCapitalLlcMember"
      decimals="4"
      id="c74184746"
      unitRef="Pure">0.0475</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <us-gaap:LineOfCredit
      contextRef="i_2021-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-PinnacleFinancialPartnersMember"
      decimals="-5"
      id="c74184749"
      unitRef="USD">5900000</us-gaap:LineOfCredit>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity
      contextRef="i_2021-04-30_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-PinnacleFinancialPartnersMember"
      decimals="-5"
      id="c74184750"
      unitRef="USD">2500000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <us-gaap:LineOfCredit
      contextRef="i_2020-10-31_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-PinnacleFinancialPartnersMember"
      decimals="-6"
      id="c74184751"
      unitRef="USD">5000000.0</us-gaap:LineOfCredit>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity
      contextRef="i_2020-10-31_CreditFacilityAxis-RevolvingCreditFacilityMember_LineOfCreditFacilityAxis-PinnacleFinancialPartnersMember"
      decimals="-5"
      id="c74184752"
      unitRef="USD">1600000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <us-gaap:LeasesOfLesseeDisclosureTextBlock contextRef="d_2020-11-01_2021-04-30" id="c1876097">
   &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;; font-size: 10pt;"&gt;&lt;b&gt;(&lt;em style="font: inherit;"&gt;7&lt;/em&gt;)&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;; 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 &lt;em style="font: inherit;"&gt; November 30, 2024.&lt;/em&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 an operating lease agreement for approximately 36,000 square feet of warehouse space in Roanoke, Virginia. The lease term expires on &lt;em style="font: inherit;"&gt; April 30, 2023.&lt;/em&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 also leases certain office equipment under operating leases with initial 60 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', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"/&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 &lt;em style="font: inherit;"&gt; may &lt;/em&gt;include options to extend or terminate the lease. 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 &lt;em style="font: inherit;"&gt;12&lt;/em&gt; 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 $1,204,711 and $1,265,194 were included in other assets at &lt;em style="font: inherit;"&gt; April 30, 2021 &lt;/em&gt;and &lt;em style="font: inherit;"&gt; October 31, 2020, &lt;/em&gt;respectively. Operating lease liabilities of $370,951 and $926,034, respectively, were included in accounts payable and accrued expenses and other noncurrent liabilities at &lt;em style="font: inherit;"&gt; April 30, 2021. &lt;/em&gt;Operating lease liabilities of $332,329 and $946,653, respectively, were included in accounts payable and accrued expenses and other noncurrent liabilities at &lt;em style="font: inherit;"&gt; October 31, 2020.&lt;/em&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;Operating lease expense recognized during the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; months and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; April 30, 2021 &lt;/em&gt;totaled $100,203 and $200,568, respectively. Operating lease expense recognized during the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; months and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; April 30, 2020 &lt;/em&gt;totaled $98,558 and &lt;em style="font: inherit;"&gt;$194,429,&lt;/em&gt; 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 40.7 months and the weighted average discount rate was 5.0% as of &lt;em style="font: inherit;"&gt; April 30, 2021.&lt;/em&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&#x2019;s future payments due under operating leases reconciled to the lease liability are as follows:&lt;/p&gt;
   &lt;p style="text-align:justify;font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;

    &lt;table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 63pt; width: 80%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 83%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;Fiscal Year&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;, Times, serif; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;Future Payments&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;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255); font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;td style="width: 83%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;b&gt;2021&#160;&#160;(1)&lt;/b&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;212,364&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255); font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 83%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;2022&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;432,485&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255); font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 83%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;2023&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;382,716&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255); font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 83%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; 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;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;331,438&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255); font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 83%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Thereafter&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;55,023&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255); font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 83%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Total undiscounted lease payments&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;1,414,026&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255); font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 83%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Present value discount&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(117,041&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255); font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 83%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Total operating lease liability&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,296,985&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

   &lt;p style="margin: 0pt;"&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: 54pt; margin-right: auto;"&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="7" style="vertical-align: bottom; width: 100%; 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;(&lt;em style="font: inherit;"&gt;1&lt;/em&gt;)&lt;/b&gt;&#160;Remaining &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months of fiscal year &lt;em style="font: inherit;"&gt;2021&lt;/em&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;For the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; months and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; April 30, 2021, &lt;/em&gt;cash paid for operating lease liabilities totaled &lt;em style="font: inherit;"&gt;$97,674&lt;/em&gt; and &lt;em style="font: inherit;"&gt;$194,974,&lt;/em&gt; respectively. For the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; months and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; April 30, 2020, &lt;/em&gt;cash paid for operating lease liabilities totaled $95,251 and &lt;em style="font: inherit;"&gt;$189,450,&lt;/em&gt; 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;For the &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; April 30, 2021 &lt;/em&gt;and &lt;em style="font: inherit;"&gt;2020,&lt;/em&gt; right-of-use assets obtained in exchange for new operating lease liabilities totaled $208,390 and $1,462,817, 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', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"/&gt;
  </us-gaap:LeasesOfLesseeDisclosureTextBlock>
    <us-gaap:AreaOfRealEstateProperty
      contextRef="i_2021-04-30_LeaseContractualTermAxis-OperatingLeaseForOfficeManufacturingAndWarehouseSpaceInPlanoTexasMember"
      decimals="INF"
      id="c74184806"
      unitRef="SquareFoot">34000</us-gaap:AreaOfRealEstateProperty>
    <us-gaap:AreaOfRealEstateProperty
      contextRef="i_2021-04-30_LeaseContractualTermAxis-OperatingLeaseForWarehouseSpaceInRoanokeVirginiaMember"
      decimals="INF"
      id="c74184807"
      unitRef="SquareFoot">36000</us-gaap:AreaOfRealEstateProperty>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="i_2021-04-30_LeaseContractualTermAxis-OperatingLeaseForOfficeEquipmentMember"
      id="c74184808">P60M</us-gaap:LesseeOperatingLeaseTermOfContract>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i_2021-04-30_BalanceSheetLocationAxis-OtherAssetsMember"
      decimals="INF"
      id="c74184811"
      unitRef="USD">1204711</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i_2020-10-31_BalanceSheetLocationAxis-OtherAssetsMember"
      decimals="INF"
      id="c74184812"
      unitRef="USD">1265194</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i_2021-04-30_BalanceSheetLocationAxis-AccountsPayableAndAccruedLiabilitiesMember"
      decimals="INF"
      id="c74184813"
      unitRef="USD">370951</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i_2021-04-30_BalanceSheetLocationAxis-OtherNoncurrentLiabilitiesMember"
      decimals="INF"
      id="c74184814"
      unitRef="USD">926034</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i_2020-10-31_BalanceSheetLocationAxis-AccountsPayableAndAccruedLiabilitiesMember"
      decimals="INF"
      id="c74184815"
      unitRef="USD">332329</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i_2020-10-31_BalanceSheetLocationAxis-OtherNoncurrentLiabilitiesMember"
      decimals="INF"
      id="c74184816"
      unitRef="USD">946653</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseExpense
      contextRef="d_2021-02-01_2021-04-30"
      decimals="INF"
      id="c74184819"
      unitRef="USD">100203</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184820"
      unitRef="USD">200568</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="d_2020-02-01_2020-04-30"
      decimals="INF"
      id="c74184823"
      unitRef="USD">98558</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184824"
      unitRef="USD">194429</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1 contextRef="i_2021-04-30" id="c74184826">P40M21D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="i_2021-04-30"
      decimals="2"
      id="c74184827"
      unitRef="Pure">0.050</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock contextRef="d_2020-11-01_2021-04-30" id="c1876098">
    &lt;table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 63pt; width: 80%; font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; text-indent: 0px;"&gt;&lt;tbody&gt;&lt;tr style="vertical-align: bottom; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 83%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;Fiscal Year&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;, Times, serif; font-size: 10pt; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;td colspan="2" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;Future Payments&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;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255); font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;td style="width: 83%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;b&gt;2021&#160;&#160;(1)&lt;/b&gt;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;212,364&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255); font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 83%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;2022&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;432,485&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255); font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 83%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;2023&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;382,716&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255); font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 83%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; 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;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;331,438&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255); font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 83%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Thereafter&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;55,023&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255); font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 83%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Total undiscounted lease payments&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;1,414,026&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(204, 238, 255); font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 83%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Present value discount&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"&gt;(117,041&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"&gt;)&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom; background-color: rgb(255, 255, 255); font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt;"&gt;&lt;td colspan="1" style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 83%;"&gt; &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"&gt;Total operating lease liability&lt;/p&gt; &lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"&gt;1,296,985&lt;/td&gt;&lt;td style="width: 1%; font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   </us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184850"
      unitRef="USD">212364</us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184851"
      unitRef="USD">432485</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184852"
      unitRef="USD">382716</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184853"
      unitRef="USD">331438</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <occ:LeseeOperatingLeaseLiabilityToBePaidAfterYearThree
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184854"
      unitRef="USD">55023</occ:LeseeOperatingLeaseLiabilityToBePaidAfterYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184855"
      unitRef="USD">1414026</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184856"
      unitRef="USD">117041</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="i_2021-04-30_BalanceSheetLocationAxis-AccountsPayableAndAccruedLiabilitiesAndNoncurrentLiabilitiesMember"
      decimals="INF"
      id="c74184857"
      unitRef="USD">1296985</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeasePayments
      contextRef="d_2021-02-01_2021-04-30"
      decimals="INF"
      id="c74184833"
      unitRef="USD">97674</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184835"
      unitRef="USD">194974</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="d_2020-02-01_2020-04-30"
      decimals="INF"
      id="c74185405"
      unitRef="USD">95251</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184839"
      unitRef="USD">189450</us-gaap:OperatingLeasePayments>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184843"
      unitRef="USD">208390</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184845"
      unitRef="USD">1462817</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:FairValueDisclosuresTextBlock contextRef="d_2020-11-01_2021-04-30" id="c1876099">
   &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;; font-size: 10pt;"&gt;&lt;b&gt;(&lt;em style="font: inherit;"&gt;8&lt;/em&gt;)&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;; 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 &lt;em style="font: inherit;"&gt; April 30, 2021 &lt;/em&gt;and &lt;em style="font: inherit;"&gt; October 31, 2020 &lt;/em&gt;for cash, trade accounts receivable, income taxes refundable &#x2013; current, other receivables, note payable, SBA PPP Loan &#x2013; current, and accounts payable and accrued expenses, including 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 approximate fair value based on similar long-term debt issues available to the Company as of &lt;em style="font: inherit;"&gt; April 30, 2021 &lt;/em&gt;and &lt;em style="font: inherit;"&gt; October 31, 2020. &lt;/em&gt;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_2020-11-01_2021-04-30" id="c1876100">
   &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;; font-size: 10pt;"&gt;&lt;b&gt;&lt;a href="#" id="note9" title="note9"/&gt;(&lt;em style="font: inherit;"&gt;9&lt;/em&gt;)&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;; 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="text-align:justify;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;2021&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;2020&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;2021&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;2020&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-top: 0pt; margin-bottom: 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;3,385,159&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,689,181&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;1,243,679&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;(4,281,069&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-top: 0pt; margin-bottom: 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,536,116&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,350,427&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,536,121&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,351,897&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-top: 0pt; margin-bottom: 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.45&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.23&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.17&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.58&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 &lt;em style="font: inherit;"&gt;three&lt;/em&gt; months and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; April 30, 2020 &lt;/em&gt;totaling 105,645, while issued and outstanding, were &lt;em style="font: inherit;"&gt;not&lt;/em&gt; included in the computation of basic and diluted net loss per share for the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; months and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; April 30, 2020 (&lt;/em&gt;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 those periods).&lt;/p&gt;
  </us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock contextRef="d_2020-11-01_2021-04-30" id="c1876101">
    &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;2021&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;2020&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;2021&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;2020&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-top: 0pt; margin-bottom: 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;3,385,159&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,689,181&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;1,243,679&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;(4,281,069&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-top: 0pt; margin-bottom: 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,536,116&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,350,427&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,536,121&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,351,897&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-top: 0pt; margin-bottom: 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.45&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.23&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.17&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.58&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_2021-02-01_2021-04-30"
      decimals="INF"
      id="c74184868"
      unitRef="USD">3385159</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2020-02-01_2020-04-30"
      decimals="INF"
      id="c74184869"
      unitRef="USD">-1689181</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184870"
      unitRef="USD">1243679</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184871"
      unitRef="USD">-4281069</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted
      contextRef="d_2021-02-01_2021-04-30"
      decimals="INF"
      id="c74184872"
      unitRef="Share">7536116</us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted>
    <us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted
      contextRef="d_2020-02-01_2020-04-30"
      decimals="INF"
      id="c74184873"
      unitRef="Share">7350427</us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted>
    <us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184874"
      unitRef="Share">7536121</us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted>
    <us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184875"
      unitRef="Share">7351897</us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted>
    <us-gaap:EarningsPerShareBasicAndDiluted
      contextRef="d_2021-02-01_2021-04-30"
      decimals="INF"
      id="c74184876"
      unitRef="USDPerShare">0.45</us-gaap:EarningsPerShareBasicAndDiluted>
    <us-gaap:EarningsPerShareBasicAndDiluted
      contextRef="d_2020-02-01_2020-04-30"
      decimals="INF"
      id="c74184877"
      unitRef="USDPerShare">-0.23</us-gaap:EarningsPerShareBasicAndDiluted>
    <us-gaap:EarningsPerShareBasicAndDiluted
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184878"
      unitRef="USDPerShare">0.17</us-gaap:EarningsPerShareBasicAndDiluted>
    <us-gaap:EarningsPerShareBasicAndDiluted
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184879"
      unitRef="USDPerShare">-0.58</us-gaap:EarningsPerShareBasicAndDiluted>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184862"
      unitRef="Share">105645</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:ConcentrationRiskDisclosureTextBlock contextRef="d_2020-11-01_2021-04-30" id="c1876102">
   &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;; font-size: 10pt;"&gt;&lt;b&gt;(&lt;em style="font: inherit;"&gt;10&lt;/em&gt;)&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;; 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 &lt;em style="font: inherit;"&gt; April 30, 2021 &lt;/em&gt;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', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"/&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 &lt;em style="font: inherit;"&gt;three&lt;/em&gt; months and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; April 30, 2021, &lt;/em&gt;16.6% and 19.5% of consolidated net sales were attributable to &lt;span style="-sec-ix-hidden:c74184886"&gt;&lt;span style="-sec-ix-hidden:c74184891"&gt;&lt;span style="-sec-ix-hidden:c74184892"&gt;&lt;span style="-sec-ix-hidden:c74184893"&gt;one&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; national distributor customer. For the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; months and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; April 30, 2020, &lt;/em&gt;10.6% and 12.5% of consolidated net sales was attributable to a national distributor customer.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;The Company has a &lt;span style="-sec-ix-hidden:c74184894"&gt;single&lt;/span&gt; reportable segment for purposes of segment reporting.&lt;/p&gt;
  </us-gaap:ConcentrationRiskDisclosureTextBlock>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2021-02-01_2021-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-OneCustomerMember"
      decimals="3"
      id="c74184884"
      unitRef="Pure">0.166</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2020-11-01_2021-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-OneCustomerMember"
      decimals="3"
      id="c74184885"
      unitRef="Pure">0.195</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2020-02-01_2020-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember"
      decimals="3"
      id="c74184889"
      unitRef="Pure">0.106</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="d_2019-11-01_2020-04-30_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember"
      decimals="3"
      id="c74184890"
      unitRef="Pure">0.125</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:RevenueFromContractWithCustomerTextBlock contextRef="d_2020-11-01_2021-04-30" id="c1876103">
   &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;; font-size: 10pt;"&gt;&lt;b&gt;(&lt;em style="font: inherit;"&gt;11&lt;/em&gt;)&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;; 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.&#160;&#160;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. &#160;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 &lt;em style="font: inherit;"&gt;not&lt;/em&gt; include financing components, as payment terms are generally due &lt;em style="font: inherit;"&gt;30&lt;/em&gt; to &lt;em style="font: inherit;"&gt;90&lt;/em&gt; days after shipment. Taxes assessed by governmental authorities and collected from the customer including, but &lt;em style="font: inherit;"&gt;not&lt;/em&gt; limited to, sales and use taxes and value-added taxes, are &lt;em style="font: inherit;"&gt;not&lt;/em&gt; included in the transaction price and are &lt;em style="font: inherit;"&gt;not&lt;/em&gt; included in net sales.&#160;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &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.&#160;&#160;Since the Company typically invoices the customer at the same time that performance obligations are satisfied, &lt;em style="font: inherit;"&gt;no&lt;/em&gt; contract assets are recognized. The Company&#x2019;s contract liability represents advance consideration received from customers prior to transfer of the product.&#160;&#160;This liability was $64,138 as of &lt;em style="font: inherit;"&gt; April 30, 2021 &lt;/em&gt;and $63,283 as of &lt;em style="font: inherit;"&gt; October 31, 2020. &#160;&lt;/em&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;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.&#160;&#160;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 $110,110 as of &lt;em style="font: inherit;"&gt; April 30, 2021 &lt;/em&gt;and $119,989 as of &lt;em style="font: inherit;"&gt; October 31, 2020. &#160;&lt;/em&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 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 &lt;em style="font: inherit;"&gt;not&lt;/em&gt; 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 &lt;em style="font: inherit;"&gt;no&lt;/em&gt; additional charge. &#160;&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &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.&#160;&#160;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.&#160;&#160;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', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"/&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 &lt;em style="font: inherit;"&gt;three&lt;/em&gt; months and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; April 30, 2021 &lt;/em&gt;and &lt;em style="font: inherit;"&gt;2020:&lt;/em&gt;&lt;/p&gt;
   &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 28pt;"&gt;&#160;&lt;/p&gt;

    &lt;table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; 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;2021&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;2020&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;2021&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;2020&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;12,381,735&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;11,857,559&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;22,085,345&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;22,345,906&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,359,379&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;3,005,869&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;5,532,342&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;5,404,918&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-top: 0pt; margin-bottom: 0pt; margin-left: 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;15,741,114&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;14,863,428&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;27,617,687&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;27,750,824&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_2021-04-30"
      decimals="INF"
      id="c74184903"
      unitRef="USD">64138</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="i_2020-10-31"
      decimals="INF"
      id="c74184904"
      unitRef="USD">63283</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerRefundLiability
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184905"
      unitRef="USD">110110</us-gaap:ContractWithCustomerRefundLiability>
    <us-gaap:ContractWithCustomerRefundLiability
      contextRef="i_2020-10-31"
      decimals="INF"
      id="c74184906"
      unitRef="USD">119989</us-gaap:ContractWithCustomerRefundLiability>
    <us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock contextRef="d_2020-11-01_2021-04-30" id="c1876104">
    &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;2021&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;2020&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;2021&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;2020&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;12,381,735&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;11,857,559&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;22,085,345&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;22,345,906&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,359,379&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;3,005,869&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;5,532,342&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;5,404,918&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-top: 0pt; margin-bottom: 0pt; margin-left: 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;15,741,114&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;14,863,428&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;27,617,687&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;27,750,824&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_2021-02-01_2021-04-30_StatementGeographicalAxis-US"
      decimals="INF"
      id="c74184913"
      unitRef="USD">12381735</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2020-02-01_2020-04-30_StatementGeographicalAxis-US"
      decimals="INF"
      id="c74184914"
      unitRef="USD">11857559</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2020-11-01_2021-04-30_StatementGeographicalAxis-US"
      decimals="INF"
      id="c74184915"
      unitRef="USD">22085345</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2019-11-01_2020-04-30_StatementGeographicalAxis-US"
      decimals="INF"
      id="c74184916"
      unitRef="USD">22345906</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2021-02-01_2021-04-30_StatementGeographicalAxis-NonUsMember"
      decimals="INF"
      id="c74184917"
      unitRef="USD">3359379</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2020-02-01_2020-04-30_StatementGeographicalAxis-NonUsMember"
      decimals="INF"
      id="c74184918"
      unitRef="USD">3005869</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2020-11-01_2021-04-30_StatementGeographicalAxis-NonUsMember"
      decimals="INF"
      id="c74184919"
      unitRef="USD">5532342</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2019-11-01_2020-04-30_StatementGeographicalAxis-NonUsMember"
      decimals="INF"
      id="c74184920"
      unitRef="USD">5404918</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2021-02-01_2021-04-30"
      decimals="INF"
      id="c74184921"
      unitRef="USD">15741114</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2020-02-01_2020-04-30"
      decimals="INF"
      id="c74184922"
      unitRef="USD">14863428</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2020-11-01_2021-04-30"
      decimals="INF"
      id="c74184923"
      unitRef="USD">27617687</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="d_2019-11-01_2020-04-30"
      decimals="INF"
      id="c74184924"
      unitRef="USD">27750824</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:IncomeTaxDisclosureTextBlock contextRef="d_2020-11-01_2021-04-30" id="c1876105">
   &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;; font-size: 10pt;"&gt;&lt;b&gt;(&lt;em style="font: inherit;"&gt;12&lt;/em&gt;)&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;; font-size: 10pt;"&gt;&lt;b&gt;Employee Retention Tax Credit&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 Employee Retention Tax Credit (&#x201c;ERTC&#x201d;), created in the &lt;em style="font: inherit;"&gt; March 2020 &lt;/em&gt;CARES Act and then subsequently amended by the Consolidated Appropriation Act (&#x201c;CAA&#x201d;) of &lt;em style="font: inherit;"&gt;2021&lt;/em&gt; and the American Rescue Plan Act (&#x201c;ARPA&#x201d;) of &lt;em style="font: inherit;"&gt;2021,&lt;/em&gt; is a refundable payroll credit for qualifying businesses keeping employees on their payroll during the COVID-&lt;em style="font: inherit;"&gt;19&lt;/em&gt; pandemic.&#160; Under CAA and ARPA amendments, employers can claim a refundable tax credit against the employer share of social security tax equal to &lt;em style="font: inherit;"&gt;70%&lt;/em&gt; of the qualified wages (including certain health care expenses) paid to employees after &lt;em style="font: inherit;"&gt; December 31, 2020 &lt;/em&gt;through &lt;em style="font: inherit;"&gt; December 31, 2021.&#160; &lt;/em&gt;Qualified wages are limited to &lt;em style="font: inherit;"&gt;$10,000&lt;/em&gt; per employee per calendar quarter in &lt;em style="font: inherit;"&gt;2021&lt;/em&gt; so the maximum ERTC available is &lt;em style="font: inherit;"&gt;$7,000&lt;/em&gt; per employee per calendar quarter.&#160;&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;OCC is an eligible small employer under the gross receipts decline test when comparing the &lt;em style="font: inherit;"&gt;first&lt;/em&gt; calendar quarter of &lt;em style="font: inherit;"&gt;2021&lt;/em&gt; to the same quarter in calendar year &lt;em style="font: inherit;"&gt;2019,&lt;/em&gt; which qualifies the company to claim ERTC in both the &lt;em style="font: inherit;"&gt;first&lt;/em&gt; and &lt;em style="font: inherit;"&gt;second&lt;/em&gt; calendar quarters of &lt;em style="font: inherit;"&gt;2021&lt;/em&gt; under the amended ERTC program. The Company qualified for a refundable payroll tax credit totaling $3,375,815 which is included in other receivables on the Company&#x2019;s condensed consolidated balance sheet as of &lt;em style="font: inherit;"&gt; April 30, 2021 &lt;/em&gt;and in other income on the Company&#x2019;s condensed consolidated statement of operations for the &lt;em style="font: inherit;"&gt;three&lt;/em&gt; and &lt;em style="font: inherit;"&gt;six&lt;/em&gt; months ended &lt;em style="font: inherit;"&gt; April 30, 2021.&lt;/em&gt;&lt;/p&gt;
  </us-gaap:IncomeTaxDisclosureTextBlock>
    <occ:EmployeeTaxRetentionCredit
      contextRef="i_2021-04-30"
      decimals="INF"
      id="c74184939"
      unitRef="USD">3375815</occ:EmployeeTaxRetentionCredit>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock contextRef="d_2020-11-01_2021-04-30" id="c1876106">
   &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;; font-size: 10pt;"&gt;&lt;b&gt;(&lt;em style="font: inherit;"&gt;13&lt;/em&gt;)&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;; 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 &lt;em style="font: inherit;"&gt;not&lt;/em&gt; have a material adverse effect on the Company&#x2019;s financial position, results of operations or liquidity.&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 COVID-&lt;em style="font: inherit;"&gt;19&lt;/em&gt; pandemic has had a significant impact on businesses and individuals in the United States and globally. Actions taken by governments and private industry to limit the spread of the disease have resulted in an unprecedented disruption of normal activities as businesses have been forced to shut down or operate on a limited basis. The Company is obligated and continues to operate during the COVID-&lt;em style="font: inherit;"&gt;19&lt;/em&gt; pandemic because the Company&#x2019;s workforce is classified a &#x201c;Defense Industrial Base Essential Critical Infrastructure Workforce&#x201d; under guidelines from the U.S. Department of Defense and an &#x201c;Essential Critical Infrastructure Workforce&#x201d; under guidelines by the U.S. Department of Homeland Security, Cybersecurity and Infrastructure Security Agency (CISA).&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', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"/&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 made a number of changes to business operations in response to the COVID-&lt;em style="font: inherit;"&gt;19&lt;/em&gt; pandemic, including: limiting business travel and face-to-face meetings, having a portion of its non-manufacturing employees work remotely, and implementing strict social distancing, symptom self-assessments and mask protocols within its facilities.&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 extent to which the COVID-&lt;em style="font: inherit;"&gt;19&lt;/em&gt; pandemic will affect the Company in the future will depend on ongoing developments, which are highly uncertain and cannot be reasonably predicted, including, but &lt;em style="font: inherit;"&gt;not&lt;/em&gt; limited to, the duration and severity of the outbreak, the timing and extent of the easing of restrictions on businesses and individuals, the timing of recovery in certain of the Company&#x2019;s markets, the potential for a resurgence of the virus, as well as a variety of other unknowable factors. The longer the various impacts of COVID-&lt;em style="font: inherit;"&gt;19&lt;/em&gt; persist, the greater the potential negative financial effects on the Company.&lt;/p&gt;
  </us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock contextRef="d_2020-11-01_2021-04-30" id="c1876107">
   &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;; font-size: 10pt;"&gt;&lt;b&gt;(&lt;em style="font: inherit;"&gt;14&lt;/em&gt;) &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;; font-size: 10pt;"&gt;&lt;b&gt;New Accounting Standards &lt;em style="font: inherit;"&gt;Not&lt;/em&gt; Yet Adopted&lt;/b&gt;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:justify;margin:0pt 0pt 0pt 27pt;"&gt;In &lt;em style="font: inherit;"&gt; December 2019, &lt;/em&gt;the FASB issued Accounting Standards Update &lt;em style="font: inherit;"&gt;2019&lt;/em&gt;-&lt;em style="font: inherit;"&gt;12,&lt;/em&gt; &lt;i&gt;Income Taxes (Topic &lt;em style="font: inherit;"&gt;740&lt;/em&gt;): Simplifying the Accounting for Income Taxes &lt;/i&gt;(&#x201c;ASU &lt;em style="font: inherit;"&gt;2019&lt;/em&gt;-&lt;em style="font: inherit;"&gt;12&#x201d;&lt;/em&gt;), which is intended to simplify various aspects related to accounting for income taxes. ASU &lt;em style="font: inherit;"&gt;2019&lt;/em&gt;-&lt;em style="font: inherit;"&gt;12&lt;/em&gt; removes certain exceptions to the general principles in Topic &lt;em style="font: inherit;"&gt;740&lt;/em&gt; and also clarifies and amends existing guidance to improve consistent application. ASU &lt;em style="font: inherit;"&gt;2019&lt;/em&gt;-&lt;em style="font: inherit;"&gt;12&lt;/em&gt; is effective for fiscal years beginning after &lt;em style="font: inherit;"&gt; December 15, 2020, &lt;/em&gt;with early adoption permitted. The adoption of ASU &lt;em style="font: inherit;"&gt;2019&lt;/em&gt;-&lt;em style="font: inherit;"&gt;12&lt;/em&gt; is &lt;em style="font: inherit;"&gt;not&lt;/em&gt; expected to have a material impact on the Company&#x2019;s results of operations, financial position or liquidity or its related financial statement disclosures.&lt;/p&gt;
   &lt;p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"&gt;&#160;&lt;/p&gt;
   &lt;p style="font-family: &amp;quot;Times New Roman&amp;quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 28pt; text-align: justify;"&gt;There are &lt;em style="font: inherit;"&gt;no&lt;/em&gt; other new accounting standards issued, but &lt;em style="font: inherit;"&gt;not&lt;/em&gt; 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;
  </us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock>
    <link:footnoteLink
      xlink:role="http://www.xbrl.org/2003/role/link"
      xlink:type="extended">
        <link:loc
          xlink:href="#c74184850"
          xlink:label="c74184850"
          xlink:type="locator"/>
        <link:footnote id="f47ae1bd6-1a78-4ca6-b2f4-c0459539dd28" xlink:label="f47ae1bd6-1a78-4ca6-b2f4-c0459539dd28" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-us">Remaining six months of fiscal year 2021</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="c74184850"
          xlink:to="f47ae1bd6-1a78-4ca6-b2f4-c0459539dd28"
          xlink:type="arc"/>
    </link:footnoteLink>
</xbrl>
