<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xml:lang="en-US"
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:country="http://xbrl.sec.gov/country/2022"
  xmlns:dei="http://xbrl.sec.gov/dei/2022"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:nx="http://www.quanexbuildingproducts.com/20230430"
  xmlns:srt="http://fasb.org/srt/2022"
  xmlns:stpr="http://xbrl.sec.gov/stpr/2022"
  xmlns:us-gaap="http://fasb.org/us-gaap/2022"
  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="nx-20230430.xsd" xlink:type="simple"/>
    <context id="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="if8cc4b64495b40399e5867750163e74b_I20230525">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <instant>2023-05-25</instant>
        </period>
    </context>
    <context id="i8117a78ebe754c0d9b51d2b947e4b271_I20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <instant>2023-04-30</instant>
        </period>
    </context>
    <context id="i382b0eeee5b541edb718989bf05d72f4_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="i90073a0f0abd449ca5936561a6629859_D20211101-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="i0ead3b3529cc41e7ad764e7fafc2d3cb_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="i2bd52a04c8cb487f8a02c494fed62601_I20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <instant>2022-04-30</instant>
        </period>
    </context>
    <context id="i876724d792eb4319a2dc1b8696163393_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i8c2f52b7efc641e1844a543cdcd6c08e_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i9a573d68d6be4f8db05d13c8d8aced47_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i869d59ab97364cbd9bc6453a52b1ba55_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i10d0c647267a4aa0a0afe634bc3a8864_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i7b04e82639ce4cc4aa95d764fb10c86c_D20221101-20230131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-01-31</endDate>
        </period>
    </context>
    <context id="ia22289860bf74d84994f9d6a98c59462_D20221101-20230131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-01-31</endDate>
        </period>
    </context>
    <context id="ic380098ef9f94da4bbd9da5b28cf9fa0_D20221101-20230131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-01-31</endDate>
        </period>
    </context>
    <context id="i8706f8de6f494aa0b7312c32eaf026e8_D20221101-20230131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-01-31</endDate>
        </period>
    </context>
    <context id="ifd2e56aafabf42d484a84bd45539f663_D20221101-20230131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-01-31</endDate>
        </period>
    </context>
    <context id="ib41a849ef0b843d29fb62bc837c50a19_I20230131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-01-31</instant>
        </period>
    </context>
    <context id="id6a1ba29befd4045865956581515db60_I20230131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-01-31</instant>
        </period>
    </context>
    <context id="ic3ecefbfde564016ab51bf25bbb19b5f_I20230131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-01-31</instant>
        </period>
    </context>
    <context id="i9aa77840553441e48fcdf82855245a13_I20230131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-01-31</instant>
        </period>
    </context>
    <context id="i3424e0f8b8114025b3d8e053e8dec4dc_I20230131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-01-31</instant>
        </period>
    </context>
    <context id="i669354d9ed644587b85cd2ec5165d2d9_I20230131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <instant>2023-01-31</instant>
        </period>
    </context>
    <context id="i5c358a9129254460bae7c503d26a7e3b_D20230201-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="ieb12cd4181ca4ee8a22a7865b4d05813_D20230201-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i159799a883374f3b8932b48c502055a5_D20230201-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="if7002ee353ea48f582a10638370aeead_D20230201-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i708c4e96f4b44c6694c9497a17c37535_I20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-30</instant>
        </period>
    </context>
    <context id="i9faa65bcb8fd40879f76509f051634e0_I20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-30</instant>
        </period>
    </context>
    <context id="ia0088256f6624601afe61b8e594a14f7_I20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-30</instant>
        </period>
    </context>
    <context id="ie79036622a1345b99b256506b739f6b5_I20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-30</instant>
        </period>
    </context>
    <context id="ic3ac9c0abe354444b8ae27223a9c485c_I20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-30</instant>
        </period>
    </context>
    <context id="i8303c523d816435f954a210cf02e85e9_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="i14f4eea036d2407ab09dbeb0fb0e56d2_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="i5e278ea182f948808efc382a41c19aec_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="i485c6d6b2523444bbc710ce28b4fe3a3_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="i0990e97053ef44cbb470cdceecf3c5a6_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="i1e98d2878dd347529baf47b6e230404a_D20211101-20220131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-01-31</endDate>
        </period>
    </context>
    <context id="i9677e9d089064059a1aa8735e70e999e_D20211101-20220131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-01-31</endDate>
        </period>
    </context>
    <context id="if3fec872315843a7b6749b9b85b4a7ea_D20211101-20220131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-01-31</endDate>
        </period>
    </context>
    <context id="i75772e94e33a4fb990b97c6a17213b26_D20211101-20220131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-01-31</endDate>
        </period>
    </context>
    <context id="iba518de09e6740148e9827e872f757e7_D20211101-20220131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-01-31</endDate>
        </period>
    </context>
    <context id="ia02ecf76fe794683b476ab79c44e489b_I20220131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-01-31</instant>
        </period>
    </context>
    <context id="ie8478546437c4f6b8b4751a122815914_I20220131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-01-31</instant>
        </period>
    </context>
    <context id="i2aa60b5a60284557aa1c6cacf2386fc9_I20220131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-01-31</instant>
        </period>
    </context>
    <context id="i9005b13218d546c19ba7520552837681_I20220131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-01-31</instant>
        </period>
    </context>
    <context id="i303d2e6bb39547cb8057dbcb535d16d0_I20220131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-01-31</instant>
        </period>
    </context>
    <context id="ie9cafb46d5844279a1a11faed3062425_I20220131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <instant>2022-01-31</instant>
        </period>
    </context>
    <context id="i9653fbe7a5b741e6b3762b7308b17c67_D20220201-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="i5a3db028746743f09d9b93d23cdfc8e8_D20220201-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="i28bfe2bf2a7242fd86c272d6a7cce035_D20220201-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="ic78309b1948d41a29b4e426a15d8875c_D20220201-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="i74277587c529452e870f4e066a00f591_I20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-04-30</instant>
        </period>
    </context>
    <context id="i850258492dd7487da5197167ae598a78_I20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-04-30</instant>
        </period>
    </context>
    <context id="i2d135561d4244f57a9d568ff1f963e1b_I20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-04-30</instant>
        </period>
    </context>
    <context id="ic2b7279b44ce4fc0b5b825fe20eb9619_I20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-04-30</instant>
        </period>
    </context>
    <context id="i064188c878f741bb89bf20e82f71eb38_I20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-04-30</instant>
        </period>
    </context>
    <context id="i58018597f5c040eba95f13d020b7e0fe_D20230201-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:FenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="ib615a518aad640faa68619de38e380a0_D20220201-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:FenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="i862a3e0eff19494cace3b8b5a36d3b8d_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:FenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="ib51dd406fd694f0384276685681636bd_D20211101-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:FenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="i2184420ed8e6477c9ab01291b80fd915_D20230201-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:FenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i3897f3dd546a40889e9f6c27d3e134c8_D20220201-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:FenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="i79f2d7951b26476490354cf60d699122_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:FenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i06da876ba3394688842b20141768fd04_D20211101-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:FenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="i2318b578f33e4c32b3239d946b6fc37c_D20230201-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i3414c16efc34446cbe46b95956a20e4a_D20220201-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="i5e5d867183da4c678c7a62dcd1200bbb_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="ia5698b5e3efc472c99344f9cee6e9fab_D20211101-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="i495b682206d34391bbc347b70d031dbc_D20230201-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i6b6333bb6e9047dd97fbc5545ebc19a7_D20220201-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="i0ff403c7d9394c1cb0ff02347ae939e7_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i5550586076b8425782a88a52c5a31e3d_D20211101-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="i688fdfe3f72f4536aec9134e6d39f4d6_D20230201-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i889d75243cee4741bf3b07c83346ce03_D20220201-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="ib629f9bda4f247a0b5fc982ffba70296_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i24f392c0aafd4716bfbfa6a3d8d44831_D20211101-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="ic54a7f9f1cc7438caa982db4cf2f8085_D20230201-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:FenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i3b32acddd5754b89aa42070b1b87ae49_D20220201-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:FenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="iaec074f4b6b1448195349039c48229f7_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:FenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i6d03682b326e4dc88b423f926bb15d15_D20211101-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:FenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="ib7fb7da87281406cb18c61cb0a264803_D20230201-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i76de02272d0d48d8942a64053dbb6382_D20220201-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="i4367b0eafee645eca82a13698c166aa6_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="iebea44507f4a42938baac88f9522b9fe_D20211101-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="i55a7460c21b1407ba995e72025a5851e_D20230201-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i342dc7414f4e44599ce55d67b21e77b8_D20220201-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="i76b2953f782f46d889fef6a68cc6facb_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="ie3e00d77b5f745349e02e06d2de802d7_D20211101-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="i9f7e826250784f0b9e3f5dc1500f3792_D20230201-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:FenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="ic97d073e2e834df59c690f589776c010_D20220201-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:FenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="ice8848b021b44d1385bb2616ec2bb51e_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:FenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="ied1ca9f021b148d1ae6e053b0eee5666_D20211101-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:FenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="i56385f6b35114490a4cf438917152d3d_D20230201-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i197681cfcf634dbeb7fb9bcc661211b2_D20220201-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="i9cae9c38bdf949229ff6ceab3647dce4_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i7c94c485d7f54680a8677d129fa24829_D20211101-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="i16187f4000d1428e82cbe72f593e6ac1_D20230201-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i146b64484da44119aa48b4d6f4628148_D20220201-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="i711a8022146d4e998694dae0ebe43a74_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="if5806a8a29e74fd6bd1793ffa60c4468_D20211101-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="i6c8f1c0c714f48b7acc5c0c14acdd2f6_D20230201-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="ibc944a8338dc4d108f9cc8feb1e9f8c8_D20220201-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="i15abfd703e844ca6b5de13a95882cc87_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i86b2c2ec903b4e73be0130fdcad80ae9_D20211101-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="i4ea3c91fcdf240ed9c576aa9fa680b42_D20230201-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="idb0ae1902ebd4e4aa78f7e13fdd03ea6_D20220201-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="i1819ae025453449e801309c73c9bab72_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="if0c1072e4ec046e0b8191e7db0e42224_D20211101-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="id7c214fbbb10461593fb77e733d04196_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">nx:NoSingleTransactionOrSeriesOfRelatedTransactionsExceeded120000Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="ife2a8bf030a445b89761bae5e7841972_I20221101">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <instant>2022-11-01</instant>
        </period>
    </context>
    <context id="i1bed045f39444dbbadd24c7d8dba10d8_D20230201-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">nx:LMICustomMixingLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i3744beb947cf42c39693eb7f57150ae4_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">nx:LMICustomMixingLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="iedb0c26912ad41e4a54b2ff3a854c786_I20221101">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">stpr:OH</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-11-01</instant>
        </period>
    </context>
    <context id="i0bb4709bd55c4a14a5e0c72eb245b762_I20221101">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">nx:LMICustomMixingLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-11-01</instant>
        </period>
    </context>
    <context id="ic5fbf21a10f54575831b9c4ec75a1bbc_D20220201-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">nx:LMICustomMixingLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="i5070dba93af7410dbfce12ee8ffa25e3_D20211101-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">nx:LMICustomMixingLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="i4d4f92684b8b41f5a45d433cfd731b0e_I20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-30</instant>
        </period>
    </context>
    <context id="i0a7f196600d64d54a2cab469c8430e57_I20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-30</instant>
        </period>
    </context>
    <context id="id58872b0d3524691a3ac659d1f2fd276_I20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-30</instant>
        </period>
    </context>
    <context id="i71524e541e234d1c840d4a4afe41c5a5_I20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-30</instant>
        </period>
    </context>
    <context id="i5835f6353317432fb2e09e075a10ac89_D20220831-20220831">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <startDate>2022-08-31</startDate>
            <endDate>2022-08-31</endDate>
        </period>
    </context>
    <context id="i7b9c5afa3fd74a5296efbc531768b37a_I20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-30</instant>
        </period>
    </context>
    <context id="iab7ab36a559947d4af3fbf759a1e5411_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="iabd2044dd1204875ab2c3b3fa77349ed_I20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">nx:TradenamesAndTrademarksMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-30</instant>
        </period>
    </context>
    <context id="i912408cf663a435eb24b2c98c8898846_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">nx:TradenamesAndTrademarksMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="ia7f63beecd9f49bc957842bf2fcb17f7_I20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">nx:PatentsAndOtherTechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-30</instant>
        </period>
    </context>
    <context id="i5bfbda9385474942b82a962dd1076376_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">nx:PatentsAndOtherTechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i1cdbd991247b4a8cb01934a2500ee7ea_I20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">nx:LMICustomMixingLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-30</instant>
        </period>
    </context>
    <context id="i80a0dc20295645eabe5a984d028823b5_I20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">nx:LMICustomMixingLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">nx:PatentsAndOtherTechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-30</instant>
        </period>
    </context>
    <context id="ida54f398f308425ea237ceecdbd5cb3b_I20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">nx:LMICustomMixingLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">nx:TradenamesAndTrademarksMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-30</instant>
        </period>
    </context>
    <context id="i7a9843bfedd546948e6ed3913aabfd30_I20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-30</instant>
        </period>
    </context>
    <context id="i4fc22f06f886460780ffd37595727558_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i869a8eaf9a93422f94a62c2d991eec1f_I20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">nx:CapitalLeaseObligationsAndOtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-30</instant>
        </period>
    </context>
    <context id="i9a04a0097efc4e33be66d617681f7afc_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">nx:CapitalLeaseObligationsAndOtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i737ce1e9519341b6b5e224e84ee6a330_D20211101-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">nx:CreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i2c138dd2c8534c45a5aacc716a8d0ecb_I20220706">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-06</instant>
        </period>
    </context>
    <context id="i8a17ac9b909b469cbf25616f1d275d78_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:InterestRateScenarioAxis">nx:LessThanOneandOneHalfLeverageRatioMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i77e9d716438e4331b9ac75339b70ae31_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">nx:EurocurrencyRateLoansMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:InterestRateScenarioAxis">nx:LessThanOneandOneHalfLeverageRatioMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i95314992cba74415bf8a5e55ef8ed51f_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">nx:TransitionedRFRLoansMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:InterestRateScenarioAxis">nx:LessThanOneandOneHalfLeverageRatioMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="ib072bc8486d345de939a4612afbe4926_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:InterestRateScenarioAxis">nx:LessThanOneandOneHalfLeverageRatioMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="iaf5fa76a586a42a9837b0bbfc45ebc5a_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:InterestRateScenarioAxis">nx:BetweenOneandOneHalfandTwoandOneQuarterLeverageRatioMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="ie458f29ac6ac4d3e9bf7a04814c6f838_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">nx:TransitionedRFRLoansMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:InterestRateScenarioAxis">nx:BetweenOneandOneHalfandTwoandOneQuarterLeverageRatioMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i25e556de6c10485ebc642136e7ef0ac9_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">nx:EurocurrencyRateLoansMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:InterestRateScenarioAxis">nx:BetweenOneandOneHalfandTwoandOneQuarterLeverageRatioMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i53599461c9d44aae9ea9180112147a3f_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:InterestRateScenarioAxis">nx:BetweenOneandOneHalfandTwoandOneQuarterLeverageRatioMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="ib803c631b07a4ccdad2e43c85ebe9d2f_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:InterestRateScenarioAxis">nx:BetweenTwoandOneQuarterandThreeLeverageRatioMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i73086dc785de483aa9ce4972eab0fcbc_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">nx:TransitionedRFRLoansMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:InterestRateScenarioAxis">nx:BetweenTwoandOneQuarterandThreeLeverageRatioMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i6dca882f4fd547cb98959f8942891d19_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">nx:EurocurrencyRateLoansMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:InterestRateScenarioAxis">nx:BetweenTwoandOneQuarterandThreeLeverageRatioMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i593bc7388447404798a469cfc90a9f98_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:InterestRateScenarioAxis">nx:BetweenTwoandOneQuarterandThreeLeverageRatioMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i53c04ebfdfe44a69b4ffec3babd5a91a_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:InterestRateScenarioAxis">nx:GreaterThanThreeLeverageRatioMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i0a310ca043404083a9be8a4413b7fd37_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">nx:TransitionedRFRLoansMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:InterestRateScenarioAxis">nx:GreaterThanThreeLeverageRatioMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="ic728513d3fe5423f928c34864f9cf367_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">nx:EurocurrencyRateLoansMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:InterestRateScenarioAxis">nx:GreaterThanThreeLeverageRatioMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i33f4cb707d524bd7bce10a5bec1d9b28_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:InterestRateScenarioAxis">nx:GreaterThanThreeLeverageRatioMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i82066e9bb6e84d34ad9d6c1354c09210_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i19c549a9d8f24fe1a812664e21a27332_I20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-30</instant>
        </period>
    </context>
    <context id="i78d5d6a405894a608f4c14980fc8feca_I20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:SwingLineMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-30</instant>
        </period>
    </context>
    <context id="i48af00ff91f745caaf06702dc2ae2338_I20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">nx:CreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-30</instant>
        </period>
    </context>
    <context id="i4b3108cb6e7449dfbe685b15395ecc71_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i969250acbbd24f11aa731deb0d971cb1_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i0ad7e5de93344afb8f87563f7cb89d94_I20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-30</instant>
        </period>
    </context>
    <context id="ia775413a85a84e5cb08aec50f4cc851d_D20211101-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="i5b338e4254984e949076851985777086_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="ie676f104c6564f23a66b9598515d0f7e_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i62aa56f27e36465b9862d72e0bc983e5_D20211101-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="i61984bdc5f1e4d6c93f14c3cbf544b7d_I20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-30</instant>
        </period>
    </context>
    <context id="ife3e401e84ea42a19790e444c2527ac8_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i49ca6d014eac4522b7921b8b5b65b8ff_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i43c8715fadee458c978394babde84b82_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="id6669fcd019948c5bec8ca4606a659f5_D20201202-20201202">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-12-02</startDate>
            <endDate>2020-12-02</endDate>
        </period>
    </context>
    <context id="ib30e2b1ff13c459da7ce433c0cc2cd11_D20211209-20211209">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-09</startDate>
            <endDate>2021-12-09</endDate>
        </period>
    </context>
    <context id="i3c528d35b111403381765a060e063567_D20221207-20221207">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-12-07</startDate>
            <endDate>2022-12-07</endDate>
        </period>
    </context>
    <context id="ib58a025164fc44e6a17acc8ad95dacb2_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">nx:PerformanceRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i2bd602e8bf8d4d71ba342346c860561c_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">nx:PerformanceRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="if8fa9244544f46c3a8d3cb7271c6bd02_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">nx:PerformanceRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i1c27a052589c4fe4959956ea19e7d879_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">nx:PerformanceRestrictedStockUnitsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:ShareBasedCompensationAwardPerformanceCriteriaAxis">nx:ShareBasedCompensationAwardPerformanceCriteriaAbsoluteTotalShareholderReturnMilestonesGreaterThanOrEqualTo50PercentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i20a272c1452b4fcf9a6bd09f177d73bc_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">nx:PerformanceRestrictedStockUnitsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:ShareBasedCompensationAwardPerformanceCriteriaAxis">nx:ShareBasedCompensationAwardPerformanceCriteriaAbsoluteTotalShareholderReturnMilestonesLessThan50PercentAndGreaterThanOrEqualTo20PercentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="ib5fac5425c1a4b119a6265c33d095bad_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">nx:PerformanceRestrictedStockUnitsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheThreeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:ShareBasedCompensationAwardPerformanceCriteriaAxis">nx:ShareBasedCompensationAwardPerformanceCriteriaAbsoluteTotalShareholderReturnMilestonesLessThan20PercentAndGreaterThanOrEqualToNegative20PercentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i11d03477312b47bcba8a34fb10e8b709_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">nx:PerformanceRestrictedStockUnitsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">nx:ShareBasedCompensationAwardTrancheFourMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:ShareBasedCompensationAwardPerformanceCriteriaAxis">nx:ShareBasedCompensationAwardPerformanceCriteriaAbsoluteTotalShareholderReturnMilestonesLessThanNegative20PercentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i046b147c118b4af799502ca2882c9bed_D20201202-20201202">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">nx:PerformanceRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-12-02</startDate>
            <endDate>2020-12-02</endDate>
        </period>
    </context>
    <context id="i9f5de00b4101432b9470e20df665b395_D20211209-20211209">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">nx:PerformanceRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-09</startDate>
            <endDate>2021-12-09</endDate>
        </period>
    </context>
    <context id="ie8c1489ed89f4d19afce454df922cf88_D20221207-20221207">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">nx:PerformanceRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-12-07</startDate>
            <endDate>2022-12-07</endDate>
        </period>
    </context>
    <context id="iaadc688d01314e6983a7c7263a015b2e_I20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">nx:PerformanceRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-30</instant>
        </period>
    </context>
    <context id="i19badb9df6d64ac9a6c76eb94c66c072_D20230201-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i24c3223cb236478ab1d1f6eabaa417f7_D20220201-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="iaddd6d05349048ab94784b8cd8530417_D20230201-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i3a9839e793ab4de98b024749707e4b0f_D20220201-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="icd337e2254bb450da29a5a4dbcd2070f_D20230201-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="ib6ec16ca18cd4f8a989e83dbbe8ce95a_D20220201-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="i6f73dc7f4d774dcbae59c3acaa5ca0dd_D20211101-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="ibd1ef74482334a7cb9e587ab7af4c6ae_D20230201-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">nx:PerformanceRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="ia6f5759f0f6544ffbd026a33b329b497_D20220201-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">nx:PerformanceRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="i71c7a5ced7b14ae6b5e11d56e051262f_D20211101-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">nx:PerformanceRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="ieb74387519554da0a70d98862a2e230f_D20221101-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAEngineeredComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i81f96e5ce6cd4d50b63ee36affeae6d0_D20211101-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAEngineeredComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="i6653376759a644aba6b0c1abef41957b_I20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-30</instant>
        </period>
    </context>
    <context id="id70b6c867afc4335a6167788427347a5_I20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-30</instant>
        </period>
    </context>
    <context id="i86968fe091d04fbba585c7dfbe48f3e5_I20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-30</instant>
        </period>
    </context>
    <context id="i59813c18c7b9493badb108a252e2496a_I20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-30</instant>
        </period>
    </context>
    <context id="iec1c05c95898459699d7996126e16c44_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="ic4e29b82959a42f5b64d33e7b6e3b4a3_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i5198afb47fe44d74a40a773f60b9ffd1_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i3e5c49814bab40eb8d1c11869fe52b67_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="ic9ce383e58f54b9bb0786845c5be4bfb_D20230201-20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-04-30</endDate>
        </period>
    </context>
    <context id="i529a60c372b742f69fa36685ea9e3957_D20220201-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="i6797b33d9ba540da9695498d30992eee_D20211101-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <unit id="shares">
        <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="segment">
        <measure>nx:segment</measure>
    </unit>
    <unit id="sqft">
        <measure>utr:sqft</measure>
    </unit>
    <unit id="number">
        <measure>pure</measure>
    </unit>
    <unit id="reporting_unit">
        <measure>nx:reporting_unit</measure>
    </unit>
    <dei:EntityCentralIndexKey
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80L2ZyYWc6YTY2ZTgxMmRiNjhmNDA2OGJhMzI2Y2JhMjg2OWY1OWUvdGFibGU6YWZlNTlmMjViYzc1NDBkZTgwM2QwM2FjY2JiZGFmNzIvdGFibGVyYW5nZTphZmU1OWYyNWJjNzU0MGRlODAzZDAzYWNjYmJkYWY3Ml8zLTEtMS0xLTU2Mjcz_820a8f97-6d02-48bb-9c8f-cdf96032e438">0001423221</dei:EntityCentralIndexKey>
    <dei:CurrentFiscalYearEndDate
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80L2ZyYWc6YTY2ZTgxMmRiNjhmNDA2OGJhMzI2Y2JhMjg2OWY1OWUvdGFibGU6YWZlNTlmMjViYzc1NDBkZTgwM2QwM2FjY2JiZGFmNzIvdGFibGVyYW5nZTphZmU1OWYyNWJjNzU0MGRlODAzZDAzYWNjYmJkYWY3Ml80LTEtMS0xLTU2Mjcz_57991a4a-d538-4141-a5a8-4adfeb6f3556">--10-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalYearFocus
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80L2ZyYWc6YTY2ZTgxMmRiNjhmNDA2OGJhMzI2Y2JhMjg2OWY1OWUvdGFibGU6YWZlNTlmMjViYzc1NDBkZTgwM2QwM2FjY2JiZGFmNzIvdGFibGVyYW5nZTphZmU1OWYyNWJjNzU0MGRlODAzZDAzYWNjYmJkYWY3Ml84LTEtMS0xLTU2Mjcz_4df3babd-d435-48ec-819f-3766baaec6ce">2023</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80L2ZyYWc6YTY2ZTgxMmRiNjhmNDA2OGJhMzI2Y2JhMjg2OWY1OWUvdGFibGU6YWZlNTlmMjViYzc1NDBkZTgwM2QwM2FjY2JiZGFmNzIvdGFibGVyYW5nZTphZmU1OWYyNWJjNzU0MGRlODAzZDAzYWNjYmJkYWY3Ml85LTEtMS0xLTU2Mjcz_86b27f7c-fff3-46d6-9da8-4a39b655b38e">Q2</dei:DocumentFiscalPeriodFocus>
    <dei:AmendmentFlag
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80L2ZyYWc6YTY2ZTgxMmRiNjhmNDA2OGJhMzI2Y2JhMjg2OWY1OWUvdGFibGU6YWZlNTlmMjViYzc1NDBkZTgwM2QwM2FjY2JiZGFmNzIvdGFibGVyYW5nZTphZmU1OWYyNWJjNzU0MGRlODAzZDAzYWNjYmJkYWY3Ml8xMC0xLTEtMS01NjI3Mw_81d108af-c084-437e-b4f9-b77f62b2ced3">false</dei:AmendmentFlag>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="i4d4f92684b8b41f5a45d433cfd731b0e_I20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RleHRyZWdpb246YTMxYmI2ZjY3OTVkNDBjZTk1Zjc4MWQzN2Q3NTJiNTdfODk4_d37a9411-f7dc-4842-a11b-216d66c3731a">P5Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="id58872b0d3524691a3ac659d1f2fd276_I20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RleHRyZWdpb246YTMxYmI2ZjY3OTVkNDBjZTk1Zjc4MWQzN2Q3NTJiNTdfMTAyNA_f47ccc1f-dc36-496a-8b57-c7e43c910108">P1Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <us-gaap:LongTermDebtTerm
      contextRef="i2c138dd2c8534c45a5aacc716a8d0ecb_I20220706"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RleHRyZWdpb246ODRmMDYxNDAxNmUzNDY2MmFlMDIzZGZiODQxYTg2NmRfNTQ0_c7554809-7bf4-48cb-aca5-38536b718d4c">P5Y</us-gaap:LongTermDebtTerm>
    <dei:DocumentType
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xL2ZyYWc6NTFkYTkzZDAzNDgyNDNlY2E4M2E2NWRhMGFmMjdmNzYvdGV4dHJlZ2lvbjo1MWRhOTNkMDM0ODI0M2VjYTgzYTY1ZGEwYWYyN2Y3Nl8yMTEz_b405082f-a38b-4513-9953-e60d684b97dc">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xL2ZyYWc6NTFkYTkzZDAzNDgyNDNlY2E4M2E2NWRhMGFmMjdmNzYvdGFibGU6MGQzZjRhNGNkNGNhNDA5ODhlYzEyMGRmYTVlZTA5NGYvdGFibGVyYW5nZTowZDNmNGE0Y2Q0Y2E0MDk4OGVjMTIwZGZhNWVlMDk0Zl8wLTAtMS0xLTU2Mjcz_7f35d0d8-6681-4774-95bd-8de09736d4db">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xL2ZyYWc6NTFkYTkzZDAzNDgyNDNlY2E4M2E2NWRhMGFmMjdmNzYvdGV4dHJlZ2lvbjo1MWRhOTNkMDM0ODI0M2VjYTgzYTY1ZGEwYWYyN2Y3Nl8yMzU_66eda002-5a59-4d1c-b098-8a0037637ae5">2023-04-30</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xL2ZyYWc6NTFkYTkzZDAzNDgyNDNlY2E4M2E2NWRhMGFmMjdmNzYvdGFibGU6MzQ1MDVmOWFlN2UzNDE4YjlhMzg0MDExODRkZmZiNmMvdGFibGVyYW5nZTozNDUwNWY5YWU3ZTM0MThiOWEzODQwMTE4NGRmZmI2Y18wLTAtMS0xLTU2Mjcz_f13c1ef9-e3f7-4e71-91c9-d903a84776c8">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xL2ZyYWc6NTFkYTkzZDAzNDgyNDNlY2E4M2E2NWRhMGFmMjdmNzYvdGV4dHJlZ2lvbjo1MWRhOTNkMDM0ODI0M2VjYTgzYTY1ZGEwYWYyN2Y3Nl8yMTAx_629fdf2f-ea76-49cc-b0f2-2c55b8042839">1-33913</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xL2ZyYWc6NTFkYTkzZDAzNDgyNDNlY2E4M2E2NWRhMGFmMjdmNzYvdGV4dHJlZ2lvbjo1MWRhOTNkMDM0ODI0M2VjYTgzYTY1ZGEwYWYyN2Y3Nl8yMTA3_1fd36b58-fe1a-4756-a098-48cc161e11fb">QUANEX BUILDING PRODUCTS CORPORATION</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xL2ZyYWc6NTFkYTkzZDAzNDgyNDNlY2E4M2E2NWRhMGFmMjdmNzYvdGFibGU6ZTcwMzcyMzZkZWM0NGMyZTg5YTVmNjA0MjI4N2MxZjYvdGFibGVyYW5nZTplNzAzNzIzNmRlYzQ0YzJlODlhNWY2MDQyMjg3YzFmNl8wLTAtMS0xLTU2Mjcz_d8765289-6a86-4ac4-adfd-a15364c7adb4">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xL2ZyYWc6NTFkYTkzZDAzNDgyNDNlY2E4M2E2NWRhMGFmMjdmNzYvdGFibGU6ZTcwMzcyMzZkZWM0NGMyZTg5YTVmNjA0MjI4N2MxZjYvdGFibGVyYW5nZTplNzAzNzIzNmRlYzQ0YzJlODlhNWY2MDQyMjg3YzFmNl8wLTItMS0xLTU2Mjcz_8fc31b2c-4e63-41db-8ccc-05b0572b35f7">26-1561397</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xL2ZyYWc6NTFkYTkzZDAzNDgyNDNlY2E4M2E2NWRhMGFmMjdmNzYvdGV4dHJlZ2lvbjo1MWRhOTNkMDM0ODI0M2VjYTgzYTY1ZGEwYWYyN2Y3Nl8yMTEw_6eb5e33c-05c3-4136-881b-52fde611e142">1800 West Loop South</dei:EntityAddressAddressLine1>
    <dei:EntityAddressAddressLine2
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xL2ZyYWc6NTFkYTkzZDAzNDgyNDNlY2E4M2E2NWRhMGFmMjdmNzYvdGV4dHJlZ2lvbjo1MWRhOTNkMDM0ODI0M2VjYTgzYTY1ZGEwYWYyN2Y3Nl8yMTAw_912d9edd-4c01-4796-a435-ad755e1790af">Suite 1500</dei:EntityAddressAddressLine2>
    <dei:EntityAddressCityOrTown
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xL2ZyYWc6NTFkYTkzZDAzNDgyNDNlY2E4M2E2NWRhMGFmMjdmNzYvdGV4dHJlZ2lvbjo1MWRhOTNkMDM0ODI0M2VjYTgzYTY1ZGEwYWYyN2Y3Nl8yMTA4_c054ce8f-b205-4543-b55c-10fb4a88e7bb">Houston</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xL2ZyYWc6NTFkYTkzZDAzNDgyNDNlY2E4M2E2NWRhMGFmMjdmNzYvdGV4dHJlZ2lvbjo1MWRhOTNkMDM0ODI0M2VjYTgzYTY1ZGEwYWYyN2Y3Nl8yMTAy_51b6d53c-6193-4978-aac9-9c9970be2cd1">TX</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xL2ZyYWc6NTFkYTkzZDAzNDgyNDNlY2E4M2E2NWRhMGFmMjdmNzYvdGV4dHJlZ2lvbjo1MWRhOTNkMDM0ODI0M2VjYTgzYTY1ZGEwYWYyN2Y3Nl8yMTAz_fd98e8a2-0344-4977-8c61-9e50f85dc2ad">77027</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xL2ZyYWc6NTFkYTkzZDAzNDgyNDNlY2E4M2E2NWRhMGFmMjdmNzYvdGV4dHJlZ2lvbjo1MWRhOTNkMDM0ODI0M2VjYTgzYTY1ZGEwYWYyN2Y3Nl8yMTEx_7bed0e8c-f4b5-45cd-abf7-a39b32c3feed">713</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xL2ZyYWc6NTFkYTkzZDAzNDgyNDNlY2E4M2E2NWRhMGFmMjdmNzYvdGV4dHJlZ2lvbjo1MWRhOTNkMDM0ODI0M2VjYTgzYTY1ZGEwYWYyN2Y3Nl8yMTA0_c3503f42-b9d6-41fa-8bc3-7d28ac8102f5">961-4600</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xL2ZyYWc6NTFkYTkzZDAzNDgyNDNlY2E4M2E2NWRhMGFmMjdmNzYvdGFibGU6ZTllOTVjNjViZWUyNDI0ZTk3Nzg4Zjg3N2ZkOTZmOGMvdGFibGVyYW5nZTplOWU5NWM2NWJlZTI0MjRlOTc3ODhmODc3ZmQ5NmY4Y18xLTAtMS0xLTU2Mjcz_855aa05e-e478-47a7-af88-54313fa762f0">Common Stock, par value $0.01 per share</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xL2ZyYWc6NTFkYTkzZDAzNDgyNDNlY2E4M2E2NWRhMGFmMjdmNzYvdGFibGU6ZTllOTVjNjViZWUyNDI0ZTk3Nzg4Zjg3N2ZkOTZmOGMvdGFibGVyYW5nZTplOWU5NWM2NWJlZTI0MjRlOTc3ODhmODc3ZmQ5NmY4Y18xLTItMS0xLTU2Mjcz_41efc1fd-c9f0-4ca2-a104-5199d93098eb">NX</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xL2ZyYWc6NTFkYTkzZDAzNDgyNDNlY2E4M2E2NWRhMGFmMjdmNzYvdGFibGU6ZTllOTVjNjViZWUyNDI0ZTk3Nzg4Zjg3N2ZkOTZmOGMvdGFibGVyYW5nZTplOWU5NWM2NWJlZTI0MjRlOTc3ODhmODc3ZmQ5NmY4Y18xLTQtMS0xLTU2Mjcz_8413e0be-ba88-4f5f-915e-9c4b3f08ba6d">NYSE</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xL2ZyYWc6NTFkYTkzZDAzNDgyNDNlY2E4M2E2NWRhMGFmMjdmNzYvdGV4dHJlZ2lvbjo1MWRhOTNkMDM0ODI0M2VjYTgzYTY1ZGEwYWYyN2Y3Nl8yMTA5_7573782e-1f6c-49db-a385-51051b4ad08b">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xL2ZyYWc6NTFkYTkzZDAzNDgyNDNlY2E4M2E2NWRhMGFmMjdmNzYvdGV4dHJlZ2lvbjo1MWRhOTNkMDM0ODI0M2VjYTgzYTY1ZGEwYWYyN2Y3Nl8yMTA1_635ff522-5a5f-4d7c-be39-b86df8e81faa">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xL2ZyYWc6NTFkYTkzZDAzNDgyNDNlY2E4M2E2NWRhMGFmMjdmNzYvdGFibGU6NGEyNjk3M2ZkNTkxNDlkMjg3NDM5NjljM2E1N2U3YjEvdGFibGVyYW5nZTo0YTI2OTczZmQ1OTE0OWQyODc0Mzk2OWMzYTU3ZTdiMV8wLTAtMS0xLTU2Mjcz_32d01e70-3fed-4f8c-beaf-6c810120f330">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xL2ZyYWc6NTFkYTkzZDAzNDgyNDNlY2E4M2E2NWRhMGFmMjdmNzYvdGFibGU6NGEyNjk3M2ZkNTkxNDlkMjg3NDM5NjljM2E1N2U3YjEvdGFibGVyYW5nZTo0YTI2OTczZmQ1OTE0OWQyODc0Mzk2OWMzYTU3ZTdiMV8xLTYtMS0xLTU2Mjcz_60716e3a-9eb3-474f-bcc3-f40e6c0eb8c7">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xL2ZyYWc6NTFkYTkzZDAzNDgyNDNlY2E4M2E2NWRhMGFmMjdmNzYvdGFibGU6NGEyNjk3M2ZkNTkxNDlkMjg3NDM5NjljM2E1N2U3YjEvdGFibGVyYW5nZTo0YTI2OTczZmQ1OTE0OWQyODc0Mzk2OWMzYTU3ZTdiMV8yLTYtMS0xLTU2Mjcz_4d9eb4cc-391f-436c-9c10-4b74f4298434">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xL2ZyYWc6NTFkYTkzZDAzNDgyNDNlY2E4M2E2NWRhMGFmMjdmNzYvdGV4dHJlZ2lvbjo1MWRhOTNkMDM0ODI0M2VjYTgzYTY1ZGEwYWYyN2Y3Nl8yMTEy_05fcacaf-dc92-4cb0-9f82-f9932ffaf15d">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="if8cc4b64495b40399e5867750163e74b_I20230525"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xL2ZyYWc6NTFkYTkzZDAzNDgyNDNlY2E4M2E2NWRhMGFmMjdmNzYvdGV4dHJlZ2lvbjo1MWRhOTNkMDM0ODI0M2VjYTgzYTY1ZGEwYWYyN2Y3Nl8yMDk2_6bbe5bd0-c7e1-4d08-89bf-db8ae31364f2"
      unitRef="shares">32952532</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfNC0xLTEtMS01NjI3Mw_486f7ed0-e923-49a2-aee2-dfaad0441d11"
      unitRef="usd">43496000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfNC0zLTEtMS01NjI3Mw_2ed69523-46c6-4bc9-94c3-c4ba45028c20"
      unitRef="usd">55093000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfNS0wLTEtMS01NjI3My90ZXh0cmVnaW9uOmYyZmQ0NjQ5MDQ1NzQ3ZTViYjMyMjVjNDZlOWNhM2U2XzYz_b4181f12-cdcd-46cb-aa8e-696dee02e78b"
      unitRef="usd">398000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfNS0wLTEtMS01NjI3My90ZXh0cmVnaW9uOmYyZmQ0NjQ5MDQ1NzQ3ZTViYjMyMjVjNDZlOWNhM2U2Xzcw_3894ff9f-9786-4c3c-9643-683363ab8831"
      unitRef="usd">289000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfNS0xLTEtMS01NjI3Mw_6c075760-4beb-4b8f-9f4b-45b3bd189700"
      unitRef="usd">94038000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfNS0zLTEtMS01NjI3Mw_7c632c2d-f111-4ddc-9b57-12e6c8967790"
      unitRef="usd">96018000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfNi0xLTEtMS01NjI3Mw_f869a2da-86c5-4d09-a095-72a09d96e6fa"
      unitRef="usd">114015000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfNi0zLTEtMS01NjI3Mw_b0458836-8aa0-4e60-a297-c1b9170f2ff3"
      unitRef="usd">120890000</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfOC0xLTEtMS01NjI3Mw_a970dd94-7eba-4905-8556-d2c26e256e5d"
      unitRef="usd">12210000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfOC0zLTEtMS01NjI3Mw_14ba6fb1-cc96-4ca8-938a-a1f7bd86db06"
      unitRef="usd">8664000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMTAtMS0xLTEtNTYyNzM_af171e99-c608-402e-bddd-b8f41138db63"
      unitRef="usd">263759000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMTAtMy0xLTEtNTYyNzM_d893cbc8-f28f-4bdc-a213-0af273b33539"
      unitRef="usd">280665000</us-gaap:AssetsCurrent>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMTEtMC0xLTEtNTYyNzMvdGV4dHJlZ2lvbjphOTU4MmYxOTM4ZDg0ZTRmOWRhMzA4NGRkMzVlNDE3NF83MA_7b3968dc-6052-4d26-a107-54fede41e630"
      unitRef="usd">364437000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMTEtMC0xLTEtNTYyNzMvdGV4dHJlZ2lvbjphOTU4MmYxOTM4ZDg0ZTRmOWRhMzA4NGRkMzVlNDE3NF83Nw_eab32991-486f-4368-a3f7-34a7a61033ee"
      unitRef="usd">348528000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMTEtMS0xLTEtNTYyNzM_a996b4d8-68b8-4c7f-a46d-c83114e724c8"
      unitRef="usd">242521000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMTEtMy0xLTEtNTYyNzM_8a8b05c5-56b3-4f1a-85d1-ffbcf98c0d3f"
      unitRef="usd">180400000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMTItMS0xLTEtNTYyNzM_846c8984-cf92-4ed8-84bd-d55da63254c1"
      unitRef="usd">45725000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMTItMy0xLTEtNTYyNzM_d2264256-6fed-4ea0-805a-09214bb86211"
      unitRef="usd">56000000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:Goodwill
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMTMtMS0xLTEtNTYyNzM_f302dc01-e432-4322-adb3-3b21df86e313"
      unitRef="usd">185224000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMTMtMy0xLTEtNTYyNzM_35e24060-8845-4e81-924c-7ae8d1b9a05b"
      unitRef="usd">137855000</us-gaap:Goodwill>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMTQtMS0xLTEtNTYyNzM_b0f6baa7-5d31-4880-a42b-88222eca52e0"
      unitRef="usd">80981000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMTQtMy0xLTEtNTYyNzM_6ca4e953-778e-4d1b-85d0-a067b693233e"
      unitRef="usd">65035000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMTUtMS0xLTEtNTYyNzM_13af5c54-8cb7-449a-ab7d-2b921be770d6"
      unitRef="usd">3902000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMTUtMy0xLTEtNTYyNzM_f5e88c7b-2c34-4b35-8034-42d97a723bcc"
      unitRef="usd">4662000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMTctMS0xLTEtNTYyNzM_23dfb0c9-fee1-4ba0-94ac-b44a87d1abae"
      unitRef="usd">822112000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMTctMy0xLTEtNTYyNzM_ab280f49-3d3e-460d-ad07-df9f02c04b81"
      unitRef="usd">724617000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMjAtMS0xLTEtNTYyNzM_075860a3-662c-4925-8c3c-9e78712191cc"
      unitRef="usd">64477000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMjAtMy0xLTEtNTYyNzM_b7d78575-c1fa-4fee-bdc0-3a47613c38ce"
      unitRef="usd">77907000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMjEtMS0xLTEtNTYyNzM_bffd4a2b-9e6a-4b04-ac22-f8e427cdd7fb"
      unitRef="usd">44655000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMjEtMy0xLTEtNTYyNzM_73e7805c-5c94-4b33-9b8c-24bb52e4ea4a"
      unitRef="usd">52114000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedIncomeTaxesCurrent
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMjItMS0xLTEtNTYyNzM_54641111-0a20-41d0-bdfa-a03b9198c143"
      unitRef="usd">0</us-gaap:AccruedIncomeTaxesCurrent>
    <us-gaap:AccruedIncomeTaxesCurrent
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMjItMy0xLTEtNTYyNzM_82c8c5a8-f43d-44f7-96ab-97eea79aa77b"
      unitRef="usd">1049000</us-gaap:AccruedIncomeTaxesCurrent>
    <us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMjMtMS0xLTEtNTYyNzM_9971634b-5370-4d79-8c74-cf76fdc23b00"
      unitRef="usd">2113000</us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent>
    <us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMjMtMy0xLTEtNTYyNzM_69e66c58-0fd6-46cd-974b-b9e5d56c3bf5"
      unitRef="usd">1046000</us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMjQtMS0xLTEtNTYyNzM_4e594c5a-cecd-446b-bcd2-44887ed90ad8"
      unitRef="usd">7403000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMjQtMy0xLTEtNTYyNzM_dd97d79b-cc8c-4579-9ff3-9c245042a217"
      unitRef="usd">7727000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMjUtMS0xLTEtNTYyNzM_f2a952f6-3bed-461e-a0bb-d182860ff355"
      unitRef="usd">118648000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMjUtMy0xLTEtNTYyNzM_3390ee34-6a2b-4352-9da2-5c0ff5e0e37c"
      unitRef="usd">139843000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LongTermDebtAndCapitalLeaseObligations
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMjYtMS0xLTEtNTYyNzM_137e1fee-9002-4e62-b98b-e9cc4762e400"
      unitRef="usd">132150000</us-gaap:LongTermDebtAndCapitalLeaseObligations>
    <us-gaap:LongTermDebtAndCapitalLeaseObligations
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMjYtMy0xLTEtNTYyNzM_a54d8a4b-6b07-47c5-ae63-f473eabfebb7"
      unitRef="usd">29628000</us-gaap:LongTermDebtAndCapitalLeaseObligations>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMjctMS0xLTEtNTYyNzM_4c83e09d-ad8e-492f-bff4-2726d26f751a"
      unitRef="usd">39215000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMjctMy0xLTEtNTYyNzM_d0dfcd8c-999b-4c50-9eca-ae4f0c13dad4"
      unitRef="usd">49286000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMjgtMS0xLTEtNTYyNzM_a552ebb9-aa2c-42c9-9362-cc749abc5a04"
      unitRef="usd">0</us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent>
    <us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMjgtMy0xLTEtNTYyNzM_73b08eb5-531b-4815-950f-ebebd88afdb5"
      unitRef="usd">3917000</us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMjktMS0xLTEtNTYyNzM_9d7d2b49-6ec9-4854-bf8f-9c7e29d1eb84"
      unitRef="usd">23396000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMjktMy0xLTEtNTYyNzM_cba2ae1b-694c-4c10-8de7-bd40840b4bea"
      unitRef="usd">22277000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMzEtMS0xLTEtNTYyNzM_3be38db1-67c5-48df-ab36-75273493a953"
      unitRef="usd">15976000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMzEtMy0xLTEtNTYyNzM_ad601a43-83b4-4e75-8191-84f7d0ea3cfb"
      unitRef="usd">14831000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMzMtMS0xLTEtNTYyNzM_c7512106-e826-4c3e-8a0b-cdc52c7d4554"
      unitRef="usd">329385000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMzMtMy0xLTEtNTYyNzM_54873c58-d939-4285-9c14-0fa198f9f100"
      unitRef="usd">259782000</us-gaap:Liabilities>
    <us-gaap:CommitmentsAndContingencies
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMzQtMS0xLTEtNTYyNzM_e0a977e3-7a4f-4f68-9f92-3d73fcbd2b28"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMzQtMy0xLTEtNTYyNzM_37655b37-e9ae-423c-8635-835ee622fa4a"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:PreferredStockNoParValue
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMzYtMC0xLTEtNTYyNzMvdGV4dHJlZ2lvbjphYTE1YzgxMjgyYmI0NTlhOWNmMmJmNmZlYjg4YTc0M18yMQ_4f02e84e-157e-43f5-8ea2-6893b0ddef1e"
      unitRef="usdPerShare">0</us-gaap:PreferredStockNoParValue>
    <us-gaap:PreferredStockNoParValue
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMzYtMC0xLTEtNTYyNzMvdGV4dHJlZ2lvbjphYTE1YzgxMjgyYmI0NTlhOWNmMmJmNmZlYjg4YTc0M18yMQ_c87f4754-39d8-46a2-9c6c-322bca28abf5"
      unitRef="usdPerShare">0</us-gaap:PreferredStockNoParValue>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMzYtMC0xLTEtNTYyNzMvdGV4dHJlZ2lvbjphYTE1YzgxMjgyYmI0NTlhOWNmMmJmNmZlYjg4YTc0M181Mw_3e11f5d7-00a7-4942-bbed-9b24ff7eaec0"
      unitRef="shares">1000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMzYtMC0xLTEtNTYyNzMvdGV4dHJlZ2lvbjphYTE1YzgxMjgyYmI0NTlhOWNmMmJmNmZlYjg4YTc0M181Mw_dfab66c6-fa59-49a1-9664-403cc338efb0"
      unitRef="shares">1000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMzYtMC0xLTEtNTYyNzMvdGV4dHJlZ2lvbjphYTE1YzgxMjgyYmI0NTlhOWNmMmJmNmZlYjg4YTc0M184Mg_3a27a194-dc15-4f41-bade-89e95656575f"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMzYtMC0xLTEtNTYyNzMvdGV4dHJlZ2lvbjphYTE1YzgxMjgyYmI0NTlhOWNmMmJmNmZlYjg4YTc0M184Mg_512b0e27-484f-48a7-b1cb-130b5887bb8c"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesIssued
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMzYtMC0xLTEtNTYyNzMvdGV4dHJlZ2lvbjphYTE1YzgxMjgyYmI0NTlhOWNmMmJmNmZlYjg4YTc0M184Mg_a832ffae-d2a0-4aa2-89e8-ecf3ff67b62e"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMzYtMC0xLTEtNTYyNzMvdGV4dHJlZ2lvbjphYTE1YzgxMjgyYmI0NTlhOWNmMmJmNmZlYjg4YTc0M184Mg_e2f120ea-ae81-4c0c-bb59-71ee306026e4"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockValue
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMzYtMS0xLTEtNTYyNzM_33a4a42a-0f33-457d-b744-3246ecce2d82"
      unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMzYtMy0xLTEtNTYyNzM_07d173a9-1bfe-40cb-9b7f-8c873fa4ab44"
      unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMzctMC0xLTEtNTYyNzMvdGV4dHJlZ2lvbjpkYWNlNDYzOThhMjg0NjUxYWY3ODFmMWJmMzEzZmRjMF8xOA_35f48430-02b3-4793-9bbc-629d0e71c69c"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMzctMC0xLTEtNTYyNzMvdGV4dHJlZ2lvbjpkYWNlNDYzOThhMjg0NjUxYWY3ODFmMWJmMzEzZmRjMF8xOA_c5f7f065-d3e6-41c7-af8f-a8c6eb80ae5c"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMzctMC0xLTEtNTYyNzMvdGV4dHJlZ2lvbjpkYWNlNDYzOThhMjg0NjUxYWY3ODFmMWJmMzEzZmRjMF81MA_3ca8a7db-ab90-4820-855b-c2cb60a0bdac"
      unitRef="shares">125000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMzctMC0xLTEtNTYyNzMvdGV4dHJlZ2lvbjpkYWNlNDYzOThhMjg0NjUxYWY3ODFmMWJmMzEzZmRjMF81MA_48405c5f-5a33-494e-a0a5-14778afa82b3"
      unitRef="shares">125000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMzctMC0xLTEtNTYyNzMvdGV4dHJlZ2lvbjpkYWNlNDYzOThhMjg0NjUxYWY3ODFmMWJmMzEzZmRjMF82MQ_1579ded9-cafc-41fd-99fa-eeb81565a302"
      unitRef="shares">37187058</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMzctMC0xLTEtNTYyNzMvdGV4dHJlZ2lvbjpkYWNlNDYzOThhMjg0NjUxYWY3ODFmMWJmMzEzZmRjMF82OA_7662ddf6-5325-485f-bfd9-36502ca5b15a"
      unitRef="shares">37211056</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMzctMC0xLTEtNTYyNzMvdGV4dHJlZ2lvbjpkYWNlNDYzOThhMjg0NjUxYWY3ODFmMWJmMzEzZmRjMF85OA_266343a6-14ad-4ac6-9075-cff77f9632e0"
      unitRef="shares">32962632</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMzctMC0xLTEtNTYyNzMvdGV4dHJlZ2lvbjpkYWNlNDYzOThhMjg0NjUxYWY3ODFmMWJmMzEzZmRjMF8xMDU_41c6a009-f64b-4ae4-9b2b-696b61f7d014"
      unitRef="shares">33129250</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMzctMS0xLTEtNTYyNzM_719086d8-32dd-4bda-9a97-b87f5b39bc43"
      unitRef="usd">372000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMzctMy0xLTEtNTYyNzM_eaeab50c-f9d8-4b45-af25-d2b07e969380"
      unitRef="usd">372000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapital
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMzgtMS0xLTEtNTYyNzM_6050ac9d-16dd-4f9f-8296-fc1662846326"
      unitRef="usd">250427000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMzgtMy0xLTEtNTYyNzM_0885e983-1a9d-4ec9-b5cf-3ad184b9f15b"
      unitRef="usd">251947000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMzktMS0xLTEtNTYyNzM_580128ec-d806-498d-afc9-26bc2520e8b1"
      unitRef="usd">355557000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfMzktMy0xLTEtNTYyNzM_52c42092-c6ce-4422-a704-662fd9abd565"
      unitRef="usd">337456000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfNDAtMS0xLTEtNTYyNzM_4a1e2530-fbf0-45d2-91cd-88e9ac21e94f"
      unitRef="usd">-34968000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfNDAtMy0xLTEtNTYyNzM_b5fa1a97-20dd-4cf8-b181-50d874dcfb74"
      unitRef="usd">-49422000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:TreasuryStockShares
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfNDEtMC0xLTEtNTYyNzMvdGV4dHJlZ2lvbjpiMDIxNDY2MzRiNzU0MTM3OWM1NzZmNGUwNTIxMjRiZF8zNA_5d0f8473-30de-4687-8d69-27f1a97fef63"
      unitRef="shares">4224426</us-gaap:TreasuryStockShares>
    <us-gaap:TreasuryStockShares
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfNDEtMC0xLTEtNTYyNzMvdGV4dHJlZ2lvbjpiMDIxNDY2MzRiNzU0MTM3OWM1NzZmNGUwNTIxMjRiZF80MQ_2107e24b-5338-4110-8de1-6723f68cc8e3"
      unitRef="shares">4081806</us-gaap:TreasuryStockShares>
    <us-gaap:TreasuryStockValue
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfNDEtMS0xLTEtNTYyNzM_05a4b67e-f45d-45ce-ac0a-cccb42ebe5b0"
      unitRef="usd">78661000</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfNDEtMy0xLTEtNTYyNzM_d04bb6b0-a78c-4c24-86d1-afeb530876b3"
      unitRef="usd">75518000</us-gaap:TreasuryStockValue>
    <us-gaap:StockholdersEquity
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfNDItMS0xLTEtNTYyNzM_b7adfb39-ed86-4915-87eb-bb8bf9da0ae1"
      unitRef="usd">492727000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfNDItMy0xLTEtNTYyNzM_93c5df9e-c8ab-4207-87a4-fb0de211fe85"
      unitRef="usd">464835000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfNDMtMS0xLTEtNTYyNzM_f902ac17-2a60-4f75-a425-11619d055a53"
      unitRef="usd">822112000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xNi9mcmFnOjU5ZmRhMDMyNDJlMzQ5MmQ5MzRiYzFhM2ZlMDQyY2IxL3RhYmxlOjkyYTNkZDE4ZWFiZDQ3YjA4NDVjMTNmMTQzZWZiZTEzL3RhYmxlcmFuZ2U6OTJhM2RkMThlYWJkNDdiMDg0NWMxM2YxNDNlZmJlMTNfNDMtMy0xLTEtNTYyNzM_7e7e2be8-08ad-4682-8724-f101d5e0ba31"
      unitRef="usd">724617000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfNC0xLTEtMS01NjI3Mw_0e499fc1-37e9-471b-a245-502944cb7323"
      unitRef="usd">273535000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfNC0zLTEtMS01NjI3Mw_1c974ca6-6702-48b7-a907-d8dc6a182b6a"
      unitRef="usd">322893000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfNC01LTEtMS01NjI3Mw_7d401445-ed1d-4772-a189-07d509558c6e"
      unitRef="usd">535451000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfNC03LTEtMS01NjI3Mw_e099e432-597c-469e-bff3-97a12a1b6b4f"
      unitRef="usd">589933000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfRevenue
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfNi0xLTEtMS01NjI3Mw_d87a1650-4f83-40c0-98ab-00534184bdea"
      unitRef="usd">206372000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfNi0zLTEtMS01NjI3Mw_a0e1341f-1807-4bce-80b1-bb4dce446bb2"
      unitRef="usd">249651000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfNi01LTEtMS01NjI3Mw_0a59f099-6562-4247-a567-314cb683e234"
      unitRef="usd">416521000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfNi03LTEtMS01NjI3Mw_5ad68195-39cd-4d9c-a17b-4ad71759fc82"
      unitRef="usd">461485000</us-gaap:CostOfRevenue>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfNy0xLTEtMS01NjI3Mw_b90818bf-305c-4774-bde5-3df05be86dde"
      unitRef="usd">27371000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfNy0zLTEtMS01NjI3Mw_947731c4-1127-415e-91e8-b5d9e78d53d7"
      unitRef="usd">28129000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfNy01LTEtMS01NjI3Mw_ecfa1d94-1ff7-4847-bdde-bdaa9c0616da"
      unitRef="usd">64115000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfNy03LTEtMS01NjI3Mw_cf90e65a-eb4f-477b-9835-674182674017"
      unitRef="usd">58952000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfOS0xLTEtMS01NjI3Mw_3eb49362-5c00-43bf-87ca-59cee2cbfdab"
      unitRef="usd">10456000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfOS0zLTEtMS01NjI3Mw_e4eb324d-295c-40dd-9cb7-3ada69c1066e"
      unitRef="usd">10563000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfOS01LTEtMS01NjI3Mw_6bbfac69-cd0e-4729-ae97-2c6729e7406f"
      unitRef="usd">21076000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfOS03LTEtMS01NjI3Mw_4b3ab101-7f62-48b5-b5f0-36ca98987fae"
      unitRef="usd">20820000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:OperatingIncomeLoss
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMTEtMS0xLTEtNTYyNzM_5a47da97-041f-4cbc-84f5-be85154ae9ef"
      unitRef="usd">29336000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMTEtMy0xLTEtNTYyNzM_a02b3d49-97d6-47ca-970a-d56d4b59cde3"
      unitRef="usd">34550000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMTEtNS0xLTEtNTYyNzM_4eac080d-7b2f-4e7a-ba92-f257c74989e8"
      unitRef="usd">33739000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMTEtNS0xLTEtNTYyNzM_f314e4cb-fa45-4ead-a88f-d6812448b905"
      unitRef="usd">33739000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMTEtNy0xLTEtNTYyNzM_39a8beb8-0f9d-457e-a872-184e947c759d"
      unitRef="usd">48676000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMTEtNy0xLTEtNTYyNzM_e754f586-e786-4df2-bc5b-32682049db20"
      unitRef="usd">48676000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestExpense
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMTMtMS0xLTEtNTYyNzM_38758938-bdaf-43f3-9abe-74080bf6f5bc"
      unitRef="usd">2244000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMTMtMy0xLTEtNTYyNzM_9a27910d-f30c-4deb-844b-b921e4cc0a90"
      unitRef="usd">602000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMTMtNS0xLTEtNTYyNzM_4edc8414-a22e-441a-a305-b711b966a926"
      unitRef="usd">4503000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMTMtNy0xLTEtNTYyNzM_c4b41da3-4e70-4f67-99bd-79d43aa3503e"
      unitRef="usd">1125000</us-gaap:InterestExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMTQtMS0xLTEtNTYyNzM_ef8c8772-0b23-4371-ad34-fdb432d0d5b2"
      unitRef="usd">-29000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMTQtMy0xLTEtNTYyNzM_dbaf7058-5a06-48c9-9ba2-ea46b4682b1d"
      unitRef="usd">453000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMTQtNS0xLTEtNTYyNzM_f9c24411-2395-46a7-8764-97fdf0d9f266"
      unitRef="usd">189000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMTQtNy0xLTEtNTYyNzM_06d0c7fb-1834-4b28-aab8-c828ba577ca5"
      unitRef="usd">507000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperations
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMTUtMS0xLTEtNTYyNzM_ac1cb018-fe2f-4a6b-b920-6009aa09ccad"
      unitRef="usd">27063000</us-gaap:IncomeLossFromContinuingOperations>
    <us-gaap:IncomeLossFromContinuingOperations
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMTUtMy0xLTEtNTYyNzM_6586affe-96f2-4a55-bd15-60257b6e0d70"
      unitRef="usd">34401000</us-gaap:IncomeLossFromContinuingOperations>
    <us-gaap:IncomeLossFromContinuingOperations
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMTUtNS0xLTEtNTYyNzM_dad0994a-f24a-4c91-be86-68857c52f9ed"
      unitRef="usd">29425000</us-gaap:IncomeLossFromContinuingOperations>
    <us-gaap:IncomeLossFromContinuingOperations
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMTUtNy0xLTEtNTYyNzM_da440ead-6623-4543-8c87-c36f7d4b389a"
      unitRef="usd">48058000</us-gaap:IncomeLossFromContinuingOperations>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMTYtMS0xLTEtNTYyNzM_08713263-cf87-4e82-baa0-3dcff503cb42"
      unitRef="usd">5551000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMTYtMy0xLTEtNTYyNzM_5c8770d5-e22b-4a4f-a265-750685f9e22a"
      unitRef="usd">7879000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMTYtNS0xLTEtNTYyNzM_2af9e7f3-606b-418c-bf36-260f86030fea"
      unitRef="usd">6004000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMTYtNy0xLTEtNTYyNzM_c12bd3ef-34d6-46fb-a773-6290bf5a37a9"
      unitRef="usd">10297000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMTktMS0xLTEtNTYyNzM_f8d0d318-9b12-45b8-81f3-9c7230baecf5"
      unitRef="usd">21512000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMTktMy0xLTEtNTYyNzM_c5f8bf55-0cd2-49d5-a78f-e1adab9b6d42"
      unitRef="usd">26522000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMTktNS0xLTEtNTYyNzM_9e399dd0-9df9-4a23-bfe9-8fa03b1807ea"
      unitRef="usd">23421000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMTktNy0xLTEtNTYyNzM_a283831d-1013-437a-9cbb-9c26eb417c4a"
      unitRef="usd">37761000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMjEtMS0xLTEtNTYyNzM_a3f66625-f13f-40a8-8804-35e40be9a178"
      unitRef="usdPerShare">0.65</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMjEtMy0xLTEtNTYyNzM_7ffbba33-5787-4e66-ad48-65ac4a82e96a"
      unitRef="usdPerShare">0.80</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMjEtNS0xLTEtNTYyNzM_e5112b06-802c-43fa-bfc4-5d5229844af4"
      unitRef="usdPerShare">0.71</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMjEtNy0xLTEtNTYyNzM_4cf399ce-1d4c-47c2-bbce-49d87f59e3d2"
      unitRef="usdPerShare">1.14</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMjMtMS0xLTEtNTYyNzM_ca8ced62-b2f8-41e8-b33d-456e9c37c107"
      unitRef="usdPerShare">0.65</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMjMtMy0xLTEtNTYyNzM_a7c5187e-bc29-4bfa-adf8-bf210558dbb9"
      unitRef="usdPerShare">0.80</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMjMtNS0xLTEtNTYyNzM_855fb760-a1af-4e3e-9d92-ee655c96c377"
      unitRef="usdPerShare">0.71</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMjMtNy0xLTEtNTYyNzM_7b21c148-ce31-4c7a-ab7b-6ab71f3e3080"
      unitRef="usdPerShare">1.13</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMjYtMS0xLTEtNTYyNzM_ae40bece-b3f8-44e2-a6e9-fa6759ecf5ad"
      unitRef="shares">32858000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMjYtMy0xLTEtNTYyNzM_9ff590a9-38d4-4d85-b4be-509e9156c29f"
      unitRef="shares">33157000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMjYtNS0xLTEtNTYyNzM_b186d4ec-ed3c-4687-9ae0-d88a013f386a"
      unitRef="shares">32905000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMjYtNy0xLTEtNTYyNzM_b65115a4-2aa4-46be-b423-469664e5a638"
      unitRef="shares">33140000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMjctMS0xLTEtNTYyNzM_bb3d6a6e-8381-4739-b69d-9710d8f196bf"
      unitRef="shares">33017000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMjctMy0xLTEtNTYyNzM_48d495b6-2654-47a8-b2c8-64392e9eb1cb"
      unitRef="shares">33291000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMjctNS0xLTEtNTYyNzM_c0634ef2-7a83-4a3e-9cf5-cbb92f627595"
      unitRef="shares">33070000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMjctNy0xLTEtNTYyNzM_5fc66370-bbcd-4481-820f-b51e31ad2e63"
      unitRef="shares">33292000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMjktMS0xLTEtNTYyNzM_a6efb2f8-9e64-4ce1-9bc4-fd4715ea56fa"
      unitRef="usdPerShare">0.08</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMjktMy0xLTEtNTYyNzM_aa966b2a-e109-4ea8-9b2d-589441f7ee7b"
      unitRef="usdPerShare">0.08</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMjktNS0xLTEtNTYyNzM_6134c854-7b6e-4895-a10f-f6bb757ac4b0"
      unitRef="usdPerShare">0.16</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8xOS9mcmFnOjIwOGVmODMwMjRkZTQ2MDJhYzk5NjAzNGY1MjIwMTc1L3RhYmxlOjgyNmUzMTQ3MDUyMDQ5ZGVhODY2ZmZlMWUyZWVmNGNkL3RhYmxlcmFuZ2U6ODI2ZTMxNDcwNTIwNDlkZWE4NjZmZmUxZTJlZWY0Y2RfMjktNy0xLTEtNTYyNzM_e9bd3446-e3c9-487c-b508-33be33f708d1"
      unitRef="usdPerShare">0.16</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:NetIncomeLoss
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yMi9mcmFnOjc5YmUyYjdjZWZlZDRiYTJiMzNlMzk3NzVkYzg5OTBiL3RhYmxlOjFiOTE0YmFkY2Q1YjQ0ODNhN2RlNmViNjFkZDVjMGM2L3RhYmxlcmFuZ2U6MWI5MTRiYWRjZDViNDQ4M2E3ZGU2ZWI2MWRkNWMwYzZfNC0xLTEtMS01NjI3Mw_15a6ba7e-768f-46e2-a7c9-adc16feeaae2"
      unitRef="usd">21512000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yMi9mcmFnOjc5YmUyYjdjZWZlZDRiYTJiMzNlMzk3NzVkYzg5OTBiL3RhYmxlOjFiOTE0YmFkY2Q1YjQ0ODNhN2RlNmViNjFkZDVjMGM2L3RhYmxlcmFuZ2U6MWI5MTRiYWRjZDViNDQ4M2E3ZGU2ZWI2MWRkNWMwYzZfNC0zLTEtMS01NjI3Mw_e4f2661f-010f-4f7d-acee-5e727a2bf6ef"
      unitRef="usd">26522000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yMi9mcmFnOjc5YmUyYjdjZWZlZDRiYTJiMzNlMzk3NzVkYzg5OTBiL3RhYmxlOjFiOTE0YmFkY2Q1YjQ0ODNhN2RlNmViNjFkZDVjMGM2L3RhYmxlcmFuZ2U6MWI5MTRiYWRjZDViNDQ4M2E3ZGU2ZWI2MWRkNWMwYzZfNC01LTEtMS01NjI3Mw_e366c8f7-1adf-4220-b314-9e93126e44b3"
      unitRef="usd">23421000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yMi9mcmFnOjc5YmUyYjdjZWZlZDRiYTJiMzNlMzk3NzVkYzg5OTBiL3RhYmxlOjFiOTE0YmFkY2Q1YjQ0ODNhN2RlNmViNjFkZDVjMGM2L3RhYmxlcmFuZ2U6MWI5MTRiYWRjZDViNDQ4M2E3ZGU2ZWI2MWRkNWMwYzZfNC03LTEtMS01NjI3Mw_c4a02e46-3533-4305-8f00-66cee849cdbb"
      unitRef="usd">37761000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yMi9mcmFnOjc5YmUyYjdjZWZlZDRiYTJiMzNlMzk3NzVkYzg5OTBiL3RhYmxlOjFiOTE0YmFkY2Q1YjQ0ODNhN2RlNmViNjFkZDVjMGM2L3RhYmxlcmFuZ2U6MWI5MTRiYWRjZDViNDQ4M2E3ZGU2ZWI2MWRkNWMwYzZfNi0xLTEtMS01NjI3Mw_0dddb98c-2d59-4821-9295-46c4e084e75d"
      unitRef="usd">3082000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yMi9mcmFnOjc5YmUyYjdjZWZlZDRiYTJiMzNlMzk3NzVkYzg5OTBiL3RhYmxlOjFiOTE0YmFkY2Q1YjQ0ODNhN2RlNmViNjFkZDVjMGM2L3RhYmxlcmFuZ2U6MWI5MTRiYWRjZDViNDQ4M2E3ZGU2ZWI2MWRkNWMwYzZfNi0zLTEtMS01NjI3Mw_84d10376-70f8-408b-b166-17610eb2aa8d"
      unitRef="usd">-11268000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yMi9mcmFnOjc5YmUyYjdjZWZlZDRiYTJiMzNlMzk3NzVkYzg5OTBiL3RhYmxlOjFiOTE0YmFkY2Q1YjQ0ODNhN2RlNmViNjFkZDVjMGM2L3RhYmxlcmFuZ2U6MWI5MTRiYWRjZDViNDQ4M2E3ZGU2ZWI2MWRkNWMwYzZfNi01LTEtMS01NjI3Mw_00abcab1-64fd-46a0-a53d-777deec23d2c"
      unitRef="usd">14454000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yMi9mcmFnOjc5YmUyYjdjZWZlZDRiYTJiMzNlMzk3NzVkYzg5OTBiL3RhYmxlOjFiOTE0YmFkY2Q1YjQ0ODNhN2RlNmViNjFkZDVjMGM2L3RhYmxlcmFuZ2U6MWI5MTRiYWRjZDViNDQ4M2E3ZGU2ZWI2MWRkNWMwYzZfNi03LTEtMS01NjI3Mw_0e80a4ef-815e-4f30-81f3-616fdf9d7ce5"
      unitRef="usd">-14427000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yMi9mcmFnOjc5YmUyYjdjZWZlZDRiYTJiMzNlMzk3NzVkYzg5OTBiL3RhYmxlOjFiOTE0YmFkY2Q1YjQ0ODNhN2RlNmViNjFkZDVjMGM2L3RhYmxlcmFuZ2U6MWI5MTRiYWRjZDViNDQ4M2E3ZGU2ZWI2MWRkNWMwYzZfOS0xLTEtMS01NjI3Mw_deedcf7c-a1af-45e8-8a46-612dfb270f60"
      unitRef="usd">3082000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yMi9mcmFnOjc5YmUyYjdjZWZlZDRiYTJiMzNlMzk3NzVkYzg5OTBiL3RhYmxlOjFiOTE0YmFkY2Q1YjQ0ODNhN2RlNmViNjFkZDVjMGM2L3RhYmxlcmFuZ2U6MWI5MTRiYWRjZDViNDQ4M2E3ZGU2ZWI2MWRkNWMwYzZfOS0zLTEtMS01NjI3Mw_929d0749-81ad-4db9-8e65-005c101f6bb1"
      unitRef="usd">-11268000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yMi9mcmFnOjc5YmUyYjdjZWZlZDRiYTJiMzNlMzk3NzVkYzg5OTBiL3RhYmxlOjFiOTE0YmFkY2Q1YjQ0ODNhN2RlNmViNjFkZDVjMGM2L3RhYmxlcmFuZ2U6MWI5MTRiYWRjZDViNDQ4M2E3ZGU2ZWI2MWRkNWMwYzZfOS01LTEtMS01NjI3Mw_abd3c29e-b2ea-45fe-b1fb-d3b9eef5016e"
      unitRef="usd">14454000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yMi9mcmFnOjc5YmUyYjdjZWZlZDRiYTJiMzNlMzk3NzVkYzg5OTBiL3RhYmxlOjFiOTE0YmFkY2Q1YjQ0ODNhN2RlNmViNjFkZDVjMGM2L3RhYmxlcmFuZ2U6MWI5MTRiYWRjZDViNDQ4M2E3ZGU2ZWI2MWRkNWMwYzZfOS03LTEtMS01NjI3Mw_238965a3-22c4-43c6-993e-433d03ffaf93"
      unitRef="usd">-14427000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yMi9mcmFnOjc5YmUyYjdjZWZlZDRiYTJiMzNlMzk3NzVkYzg5OTBiL3RhYmxlOjFiOTE0YmFkY2Q1YjQ0ODNhN2RlNmViNjFkZDVjMGM2L3RhYmxlcmFuZ2U6MWI5MTRiYWRjZDViNDQ4M2E3ZGU2ZWI2MWRkNWMwYzZfMTAtMS0xLTEtNTYyNzM_033b7beb-677e-4f17-9eb6-fd0662e60db5"
      unitRef="usd">24594000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yMi9mcmFnOjc5YmUyYjdjZWZlZDRiYTJiMzNlMzk3NzVkYzg5OTBiL3RhYmxlOjFiOTE0YmFkY2Q1YjQ0ODNhN2RlNmViNjFkZDVjMGM2L3RhYmxlcmFuZ2U6MWI5MTRiYWRjZDViNDQ4M2E3ZGU2ZWI2MWRkNWMwYzZfMTAtMy0xLTEtNTYyNzM_042d4f58-bcf0-4d94-8f55-fb6cf3d8b02f"
      unitRef="usd">15254000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yMi9mcmFnOjc5YmUyYjdjZWZlZDRiYTJiMzNlMzk3NzVkYzg5OTBiL3RhYmxlOjFiOTE0YmFkY2Q1YjQ0ODNhN2RlNmViNjFkZDVjMGM2L3RhYmxlcmFuZ2U6MWI5MTRiYWRjZDViNDQ4M2E3ZGU2ZWI2MWRkNWMwYzZfMTAtNS0xLTEtNTYyNzM_1047fd2c-815b-42cb-9051-cdfd6086fdb7"
      unitRef="usd">37875000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yMi9mcmFnOjc5YmUyYjdjZWZlZDRiYTJiMzNlMzk3NzVkYzg5OTBiL3RhYmxlOjFiOTE0YmFkY2Q1YjQ0ODNhN2RlNmViNjFkZDVjMGM2L3RhYmxlcmFuZ2U6MWI5MTRiYWRjZDViNDQ4M2E3ZGU2ZWI2MWRkNWMwYzZfMTAtNy0xLTEtNTYyNzM_163f3d73-5313-4eb3-996d-f43519193ccd"
      unitRef="usd">23334000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ProfitLoss
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfNS0xLTEtMS01NjI3Mw_a137b2f8-e9a8-414a-a0bc-bb2e0dd9b812"
      unitRef="usd">23421000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfNS0zLTEtMS01NjI3Mw_a658ce69-9b62-4ce3-a391-026f78cd82af"
      unitRef="usd">37761000</us-gaap:ProfitLoss>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfNy0xLTEtMS01NjI3Mw_5cddc678-ce47-4460-99ea-446a647f15d8"
      unitRef="usd">21076000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfNy0zLTEtMS01NjI3Mw_ce676748-d617-439e-91c7-717b4e6c326f"
      unitRef="usd">20820000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:ShareBasedCompensation
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfOC0xLTEtMS01NjI3Mw_2de66366-5e5c-45f9-b464-b7ef34b32e56"
      unitRef="usd">1398000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfOC0zLTEtMS01NjI3Mw_43e53296-bc83-45b3-8036-81fab0447496"
      unitRef="usd">1124000</us-gaap:ShareBasedCompensation>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfOS0xLTEtMS01NjI3Mw_5af212be-59a2-42e4-bde7-58185244a194"
      unitRef="usd">97000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfOS0zLTEtMS01NjI3Mw_276742ac-81b1-49d6-bb3f-ef934f980190"
      unitRef="usd">583000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfMTMtMS0xLTEtNTYyNzM_c1da96b8-9380-46d0-8ca6-5b4e8d3571df"
      unitRef="usd">-982000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfMTMtMy0xLTEtNTYyNzM_89ed8886-57fc-47f4-a588-186b3499859b"
      unitRef="usd">-1534000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:IncreaseDecreaseInAccountsAndNotesReceivable
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfMTUtMS0xLTEtNTYyNzM_e5427e15-1ac3-4f35-a9b6-9131a97b546d"
      unitRef="usd">-11564000</us-gaap:IncreaseDecreaseInAccountsAndNotesReceivable>
    <us-gaap:IncreaseDecreaseInAccountsAndNotesReceivable
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfMTUtMy0xLTEtNTYyNzM_8c0fd4df-0da5-4c90-9063-85b1d8a7eaf7"
      unitRef="usd">13008000</us-gaap:IncreaseDecreaseInAccountsAndNotesReceivable>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfMTYtMS0xLTEtNTYyNzM_c1cba527-bd16-491c-8db9-f9a88056d051"
      unitRef="usd">-14799000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfMTYtMy0xLTEtNTYyNzM_bc1cdbd9-f185-412b-9176-e0f1aea36131"
      unitRef="usd">39771000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfMTctMS0xLTEtNTYyNzM_a04fdc2b-c934-464f-9933-72feeb5567b7"
      unitRef="usd">1746000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfMTctMy0xLTEtNTYyNzM_1dfadbb1-c84d-4637-af86-42c86cb6bb2e"
      unitRef="usd">3541000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfMTgtMS0xLTEtNTYyNzM_582a19c4-656b-421b-9304-b4ee5bc39af7"
      unitRef="usd">-19825000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfMTgtMy0xLTEtNTYyNzM_f7c72238-4876-4472-b8a3-d2cfb8329cb1"
      unitRef="usd">7381000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfMTktMS0xLTEtNTYyNzM_1a52831c-17aa-41d7-aa6e-60918314c36b"
      unitRef="usd">-14407000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfMTktMy0xLTEtNTYyNzM_aed2d102-ceb1-4c1e-a610-3bc649d8dec3"
      unitRef="usd">-15984000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfMjAtMS0xLTEtNTYyNzM_06bb5357-b780-49ed-ac7b-8db60d4cdd56"
      unitRef="usd">-1754000</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfMjAtMy0xLTEtNTYyNzM_332660cf-953b-4817-9424-7c9a358a1378"
      unitRef="usd">1679000</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInPensionAndPostretirementObligations
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfMjEtMS0xLTEtNTYyNzM_2951f8b6-61cd-48e9-906a-641ca0246a48"
      unitRef="usd">17000</us-gaap:IncreaseDecreaseInPensionAndPostretirementObligations>
    <us-gaap:IncreaseDecreaseInPensionAndPostretirementObligations
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfMjEtMy0xLTEtNTYyNzM_5c1dedc7-716e-451a-9644-6c20abcb8935"
      unitRef="usd">-159000</us-gaap:IncreaseDecreaseInPensionAndPostretirementObligations>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfMjItMS0xLTEtNTYyNzM_53e902ac-febc-4a07-89a0-dcd36111501a"
      unitRef="usd">1808000</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfMjItMy0xLTEtNTYyNzM_e0f8a3a0-97fe-40f8-a570-dd643b12f990"
      unitRef="usd">443000</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfMjMtMS0xLTEtNTYyNzM_d81078d3-6a9b-498a-97a4-49aff887e497"
      unitRef="usd">-1030000</us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet>
    <us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfMjMtMy0xLTEtNTYyNzM_712e2943-4c08-463a-80ad-cce6f21cb9b9"
      unitRef="usd">743000</us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfMjQtMS0xLTEtNTYyNzM_6c3052aa-22b2-4f79-a05f-1c86577d55ad"
      unitRef="usd">38460000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfMjQtMy0xLTEtNTYyNzM_af5d2443-635c-4756-b1df-513ecfd198d5"
      unitRef="usd">-1881000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfMjctMS0xLTEtNTYyNzM_03ec7bfe-c46b-4390-8519-6c81b5f64c74"
      unitRef="usd">91302000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfMjctMy0xLTEtNTYyNzM_4b75fc56-8616-4d57-a0ce-35dc7c8d015f"
      unitRef="usd">0</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfMjgtMS0xLTEtNTYyNzM_2fea7409-db30-4d36-a168-89815091c903"
      unitRef="usd">15074000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfMjgtMy0xLTEtNTYyNzM_20d76f02-bc1a-4cdb-a2b7-8b650c17eb70"
      unitRef="usd">13785000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfMzAtMS0xLTEtNTYyNzM_a9d51f1a-b4b6-44d0-bf1d-c1e2034b3711"
      unitRef="usd">101000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfMzAtMy0xLTEtNTYyNzM_0792985f-c985-4599-ba68-8206ba0a8cbf"
      unitRef="usd">36000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfMzEtMS0xLTEtNTYyNzM_20eca68e-5f5c-4634-bac5-937d420a89d0"
      unitRef="usd">-106275000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfMzEtMy0xLTEtNTYyNzM_cb4849df-26d8-4efa-b398-c090731ca697"
      unitRef="usd">-13749000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfMzMtMS0xLTEtNTYyNzM_93902077-c8cd-4c4b-8c26-04f1958a78b9"
      unitRef="usd">102000000</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfMzMtMy0xLTEtNTYyNzM_b892bac9-cb08-4b4e-b562-26b12bfe9fe3"
      unitRef="usd">70500000</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:RepaymentsOfLinesOfCredit
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfMzQtMS0xLTEtNTYyNzM_bf9d171b-5ccf-4663-946a-55acde0ff27a"
      unitRef="usd">35000000</us-gaap:RepaymentsOfLinesOfCredit>
    <us-gaap:RepaymentsOfLinesOfCredit
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfMzQtMy0xLTEtNTYyNzM_7f33a9fd-df8f-4a34-8c17-7929462f7235"
      unitRef="usd">45500000</us-gaap:RepaymentsOfLinesOfCredit>
    <us-gaap:RepaymentsOfLongTermDebtAndCapitalSecurities
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfMzYtMS0xLTEtNTYyNzM_872b7a3c-00c3-42fb-a55f-22d34e3cea70"
      unitRef="usd">1306000</us-gaap:RepaymentsOfLongTermDebtAndCapitalSecurities>
    <us-gaap:RepaymentsOfLongTermDebtAndCapitalSecurities
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfMzYtMy0xLTEtNTYyNzM_fc1604c9-788e-40d4-9dbe-523280637449"
      unitRef="usd">432000</us-gaap:RepaymentsOfLongTermDebtAndCapitalSecurities>
    <us-gaap:PaymentsOfDividendsCommonStock
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfMzctMS0xLTEtNTYyNzM_b4dbf9cd-61bb-460e-b119-5f3d323bc8e2"
      unitRef="usd">5320000</us-gaap:PaymentsOfDividendsCommonStock>
    <us-gaap:PaymentsOfDividendsCommonStock
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfMzctMy0xLTEtNTYyNzM_57d4488d-9533-4e7f-96f2-413a4b405cc1"
      unitRef="usd">5258000</us-gaap:PaymentsOfDividendsCommonStock>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfMzgtMS0xLTEtNTYyNzM_e279adcd-c316-40e6-94df-0c2a0391e1c9"
      unitRef="usd">99000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfMzgtMy0xLTEtNTYyNzM_f6b0d705-f0e4-4acf-9622-4d124eb3ac46"
      unitRef="usd">173000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfNDAtMS0xLTEtNTYyNzM_172fd2a1-470c-4db9-a9ec-9cf28532bc56"
      unitRef="usd">567000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfNDAtMy0xLTEtNTYyNzM_3dc5441e-d162-4e7f-a989-059a7fac78da"
      unitRef="usd">1412000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfNDEtMS0xLTEtNTYyNzM_dfbab34d-3f42-4708-bc82-e63ff5d2f7a9"
      unitRef="usd">5593000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfNDEtMy0xLTEtNTYyNzM_db87c3c5-3f1d-4350-80d3-400389b3e649"
      unitRef="usd">1569000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfNDItMS0xLTEtNTYyNzM_fb785fd3-ad8c-47d2-8f7a-ba56d1c10fdc"
      unitRef="usd">54313000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfNDItMy0xLTEtNTYyNzM_3a5b13d1-e9b8-4a03-8539-0ad4f20d84d8"
      unitRef="usd">16502000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfNDMtMS0xLTEtNTYyNzM_05de2d3f-2a30-4fbf-8722-122551de0490"
      unitRef="usd">1905000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfNDMtMy0xLTEtNTYyNzM_aa7aba18-dcd6-4179-bc71-907cb4b21dc5"
      unitRef="usd">-2033000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfNDQtMS0xLTEtNTYyNzM_56bcbef7-a63b-4c56-a83d-32baa4a71be1"
      unitRef="usd">-11597000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfNDQtMy0xLTEtNTYyNzM_56eb6333-c328-41ef-9588-9bf203cbe1bf"
      unitRef="usd">-1161000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfNDUtMS0xLTEtNTYyNzM_c4cd7ec6-0850-42d7-a1c1-1dadd82e6ad5"
      unitRef="usd">55093000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i0ead3b3529cc41e7ad764e7fafc2d3cb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfNDUtMy0xLTEtNTYyNzM_456f4f1d-504a-4373-a2a8-6b2cf92af495"
      unitRef="usd">40061000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfNDYtMS0xLTEtNTYyNzM_d77e837d-580b-43a2-b353-e107ff845d5e"
      unitRef="usd">43496000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i2bd52a04c8cb487f8a02c494fed62601_I20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yNS9mcmFnOjllZTBmZThhZDE4MTRiYzhiM2U3Mzc4MDQ5MmRlMGJhL3RhYmxlOjFjOTk4ZmI3MDAzOTQyYWFiNzc5YWZiYmYyZGUyMjRiL3RhYmxlcmFuZ2U6MWM5OThmYjcwMDM5NDJhYWI3NzlhZmJiZjJkZTIyNGJfNDYtMy0xLTEtNTYyNzM_adcf8881-ad59-4011-a955-6ddc59e8c599"
      unitRef="usd">38900000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:StockholdersEquity
      contextRef="i876724d792eb4319a2dc1b8696163393_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfMi0xLTEtMS01NjI3Mw_0839f938-9d1f-4b08-a138-5b92e264c904"
      unitRef="usd">372000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i8c2f52b7efc641e1844a543cdcd6c08e_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfMi0zLTEtMS01NjI3Mw_45313a58-4515-463c-aef0-5b31a1400031"
      unitRef="usd">251947000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i9a573d68d6be4f8db05d13c8d8aced47_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfMi01LTEtMS01NjI3Mw_117dd395-3e69-4b3d-ac32-54846b6e0b42"
      unitRef="usd">337456000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i869d59ab97364cbd9bc6453a52b1ba55_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfMi03LTEtMS01NjI3Mw_d75ca3b2-2b6f-48b4-86ba-0593538320fd"
      unitRef="usd">-49422000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i10d0c647267a4aa0a0afe634bc3a8864_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfMi05LTEtMS01NjI3Mw_c47c81cd-7656-4bda-9cf6-8cf6b515e397"
      unitRef="usd">-75518000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfMi0xMS0xLTEtNTYyNzM_19ff183e-43ba-4716-98b8-5eafb240f31a"
      unitRef="usd">464835000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="i7b04e82639ce4cc4aa95d764fb10c86c_D20221101-20230131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfMy01LTEtMS01NjI3Mw_e55d6ead-aea2-4d3c-b189-4747076c847a"
      unitRef="usd">1909000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ia22289860bf74d84994f9d6a98c59462_D20221101-20230131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfMy0xMS0xLTEtNTYyNzM_d5f68387-bd18-49c2-99bf-8c7b12806b55"
      unitRef="usd">1909000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="ic380098ef9f94da4bbd9da5b28cf9fa0_D20221101-20230131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNC03LTEtMS01NjI3Mw_cb1db025-7cea-40a8-84c6-22e8db42dcb6"
      unitRef="usd">11372000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="ia22289860bf74d84994f9d6a98c59462_D20221101-20230131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNC0xMS0xLTEtNTYyNzM_c550d297-071d-4f9e-9a79-09439d86efa3"
      unitRef="usd">11372000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNS0wLTEtMS01NjI3My90ZXh0cmVnaW9uOmJkMDk4MzE5OTMwYzQ3ZWY5NDA1OTExYzNkOWU5NTVkXzIy_eea44465-b368-4b4e-9900-564f9a39d42d"
      unitRef="usdPerShare">0.08</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:DividendsCommonStockCash
      contextRef="i7b04e82639ce4cc4aa95d764fb10c86c_D20221101-20230131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNS01LTEtMS01NjI3Mw_996f24bf-6bc0-4dab-acbe-e5b7bfb59db5"
      unitRef="usd">2661000</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="ia22289860bf74d84994f9d6a98c59462_D20221101-20230131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNS0xMS0xLTEtNTYyNzM_b03be9b4-fa1c-41b4-8cbf-5c81db0287ce"
      unitRef="usd">2661000</us-gaap:DividendsCommonStockCash>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i8706f8de6f494aa0b7312c32eaf026e8_D20221101-20230131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfOS0zLTEtMS01NjI3Mw_0613f761-6628-4ce4-bf03-bb6233c83d16"
      unitRef="usd">679000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="ia22289860bf74d84994f9d6a98c59462_D20221101-20230131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfOS0xMS0xLTEtNTYyNzM_0eba432f-5934-4d5c-ba40-b6da1af796bb"
      unitRef="usd">679000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i8706f8de6f494aa0b7312c32eaf026e8_D20221101-20230131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfMTAtMy0xLTEtNTYyNzM_07165140-dad8-452d-a6ce-be768cd557b9"
      unitRef="usd">6000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="ifd2e56aafabf42d484a84bd45539f663_D20221101-20230131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfMTAtOS0xLTEtNTYyNzM_7ea12fcd-9b91-44d0-9ab6-f1351fa07ac4"
      unitRef="usd">93000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="ia22289860bf74d84994f9d6a98c59462_D20221101-20230131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfMTAtMTEtMS0xLTU2Mjcz_8ddd58a9-eb70-4a3d-bd1d-290c4b06efc6"
      unitRef="usd">99000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="i8706f8de6f494aa0b7312c32eaf026e8_D20221101-20230131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfMTEtMy0xLTEtNTYyNzM_e6402351-ef88-43f5-8749-bdccb66f0f69"
      unitRef="usd">-1752000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="ifd2e56aafabf42d484a84bd45539f663_D20221101-20230131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfMTEtOS0xLTEtNTYyNzM_3ddcc653-bb03-4bde-8d25-6c24e521de72"
      unitRef="usd">1752000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <nx:StockIssuedDuringPeriodTreasurySharesPerformanceSharesVested
      contextRef="i8706f8de6f494aa0b7312c32eaf026e8_D20221101-20230131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfMTItMy0xLTEtNTYyNzM_0af90e0d-3988-4d00-b64f-673d00322261"
      unitRef="usd">-605000</nx:StockIssuedDuringPeriodTreasurySharesPerformanceSharesVested>
    <nx:StockIssuedDuringPeriodTreasurySharesPerformanceSharesVested
      contextRef="ifd2e56aafabf42d484a84bd45539f663_D20221101-20230131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfMTItOS0xLTEtNTYyNzM_7f28c9b3-641a-4f24-b29d-09d32f966c46"
      unitRef="usd">605000</nx:StockIssuedDuringPeriodTreasurySharesPerformanceSharesVested>
    <us-gaap:StockholdersEquityOther
      contextRef="i8706f8de6f494aa0b7312c32eaf026e8_D20221101-20230131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfMTMtMy0xLTEtNTYyNzM_a77fc867-8150-404b-9ec0-2b0780c1cf67"
      unitRef="usd">545000</us-gaap:StockholdersEquityOther>
    <us-gaap:StockholdersEquityOther
      contextRef="ia22289860bf74d84994f9d6a98c59462_D20221101-20230131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfMTMtMTEtMS0xLTU2Mjcz_42488728-6656-423f-baf3-e44a39d3103e"
      unitRef="usd">545000</us-gaap:StockholdersEquityOther>
    <us-gaap:StockholdersEquity
      contextRef="ib41a849ef0b843d29fb62bc837c50a19_I20230131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfMTQtMS0xLTEtNTYyNzM_fea43d3a-84be-4e16-bf43-de409cc7ddbb"
      unitRef="usd">372000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="id6a1ba29befd4045865956581515db60_I20230131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfMTQtMy0xLTEtNTYyNzM_33834af9-b7e8-4e8e-805a-331fb408f34a"
      unitRef="usd">249730000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ic3ecefbfde564016ab51bf25bbb19b5f_I20230131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfMTQtNS0xLTEtNTYyNzM_e91589c3-842e-4023-a1bf-72d51f2ef527"
      unitRef="usd">336704000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i9aa77840553441e48fcdf82855245a13_I20230131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfMTQtNy0xLTEtNTYyNzM_03a53695-0eec-4ddb-96f7-19185805a9fd"
      unitRef="usd">-38050000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i3424e0f8b8114025b3d8e053e8dec4dc_I20230131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfMTQtOS0xLTEtNTYyNzM_9117999f-3faa-4bcd-bc33-6b580c787800"
      unitRef="usd">-73068000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i669354d9ed644587b85cd2ec5165d2d9_I20230131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfMTQtMTEtMS0xLTU2Mjcz_5a8ad290-4c57-4926-9d52-d4aa2c0dfa28"
      unitRef="usd">475688000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="i5c358a9129254460bae7c503d26a7e3b_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfMTUtNS0xLTEtNTYyNzM_a2f09226-bf91-4e27-887e-08f8b41fdfaf"
      unitRef="usd">21512000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfMTUtMTEtMS0xLTU2Mjcz_ec7acdd9-d3e3-4584-9abe-8224658b4833"
      unitRef="usd">21512000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="ieb12cd4181ca4ee8a22a7865b4d05813_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfMTYtNy0xLTEtNTYyNzM_d1c0d151-6740-4794-b37d-cd1f7d5c0258"
      unitRef="usd">3082000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfMTYtMTEtMS0xLTU2Mjcz_3ef7b849-2f89-4ef7-93de-ecc861eeecd9"
      unitRef="usd">3082000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="ia22289860bf74d84994f9d6a98c59462_D20221101-20230131"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfMTctMC0xLTEtNTYyNzMvdGV4dHJlZ2lvbjoxMDA2OGU2MTFhMDA0MGQyYWNjZmYwNmJjZTUyN2EzYl8yMg_9f917da0-bec9-4853-8bb5-bd07d8eed681"
      unitRef="usdPerShare">0.08</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:DividendsCommonStockCash
      contextRef="i5c358a9129254460bae7c503d26a7e3b_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfMTctNS0xLTEtNTYyNzM_99b2b52f-6e85-478e-9f39-5b7dafc1c4d7"
      unitRef="usd">2659000</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfMTctMTEtMS0xLTU2Mjcz_11fc237d-7069-4943-9124-0e6de49969fd"
      unitRef="usd">2659000</us-gaap:DividendsCommonStockCash>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="i159799a883374f3b8932b48c502055a5_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfMTgtOS0xLTEtNTYyNzM_46ee77c3-ffff-44db-a3c5-a83638a737c4"
      unitRef="usd">5593000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfMTgtMTEtMS0xLTU2Mjcz_b673bfcb-fa71-494c-a330-119bb98ed052"
      unitRef="usd">5593000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="if7002ee353ea48f582a10638370aeead_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfMjAtMy0xLTEtNTYyNzM_c3fb1a71-b2aa-42d7-b657-b8a043116ba7"
      unitRef="usd">719000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfMjAtMTEtMS0xLTU2Mjcz_53d2ca64-51e2-4e24-b5f7-29e11c579494"
      unitRef="usd">719000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockholdersEquityOther
      contextRef="if7002ee353ea48f582a10638370aeead_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfMjQtMy0xLTEtNTYyNzM_cdec1085-f1bc-4758-98af-d19ea26dd9ce"
      unitRef="usd">22000</us-gaap:StockholdersEquityOther>
    <us-gaap:StockholdersEquityOther
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfMjQtMTEtMS0xLTU2Mjcz_c10936c7-7471-4dff-b9b1-ca1e9fcb0b0e"
      unitRef="usd">22000</us-gaap:StockholdersEquityOther>
    <us-gaap:StockholdersEquity
      contextRef="i708c4e96f4b44c6694c9497a17c37535_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfMjUtMS0xLTEtNTYyNzM_6c90d82e-dd23-450e-b181-f7616ed9d041"
      unitRef="usd">372000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i9faa65bcb8fd40879f76509f051634e0_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfMjUtMy0xLTEtNTYyNzM_153c33d5-30ff-4b37-ac68-52c94d5c7383"
      unitRef="usd">250427000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ia0088256f6624601afe61b8e594a14f7_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfMjUtNS0xLTEtNTYyNzM_49d53eed-e442-4744-8041-3790f56a7ce0"
      unitRef="usd">355557000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ie79036622a1345b99b256506b739f6b5_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfMjUtNy0xLTEtNTYyNzM_b7564900-01e7-4557-9f68-8e334349e7c3"
      unitRef="usd">-34968000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ic3ac9c0abe354444b8ae27223a9c485c_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfMjUtOS0xLTEtNTYyNzM_9c46a4ea-e09a-4ad1-b638-4fe0b5875178"
      unitRef="usd">-78661000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfMjUtMTEtMS0xLTU2Mjcz_4d415017-65c8-4544-b862-bdeb55cc6895"
      unitRef="usd">492727000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i8303c523d816435f954a210cf02e85e9_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNDEtMS0xLTEtNTYyNzM_8375b33a-c1e5-4bd4-a46a-f9b45abb3715"
      unitRef="usd">373000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i14f4eea036d2407ab09dbeb0fb0e56d2_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNDEtMy0xLTEtNTYyNzM_e8f43ead-a51c-4e49-b412-e6344dfcf32e"
      unitRef="usd">254162000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i5e278ea182f948808efc382a41c19aec_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNDEtNS0xLTEtNTYyNzM_6034e101-888c-40ff-b1a6-65a924187eab"
      unitRef="usd">259718000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i485c6d6b2523444bbc710ce28b4fe3a3_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNDEtNy0xLTEtNTYyNzM_faf4763f-7b4b-48aa-a09c-991914c513b2"
      unitRef="usd">-21770000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i0990e97053ef44cbb470cdceecf3c5a6_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNDEtOS0xLTEtNTYyNzM_94faa539-d0bd-4500-81a2-7aa2395d69c5"
      unitRef="usd">-72701000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i0ead3b3529cc41e7ad764e7fafc2d3cb_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNDEtMTEtMS0xLTU2Mjcz_548a2f2c-18e9-4796-8432-1684e3e26249"
      unitRef="usd">419782000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="i1e98d2878dd347529baf47b6e230404a_D20211101-20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNDItNS0xLTEtNTYyNzM_83c745a5-d40e-4bf9-8f9f-05304532fd97"
      unitRef="usd">11239000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i9677e9d089064059a1aa8735e70e999e_D20211101-20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNDItMTEtMS0xLTU2Mjcz_c5765f10-41e5-4969-80e4-fb79e07289d4"
      unitRef="usd">11239000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="if3fec872315843a7b6749b9b85b4a7ea_D20211101-20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNDMtNy0xLTEtNTYyNzM_68e2e56a-56e3-459e-b1e4-764c3db4ae91"
      unitRef="usd">-3159000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i9677e9d089064059a1aa8735e70e999e_D20211101-20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNDMtMTEtMS0xLTU2Mjcz_b9129a08-7216-41cc-859c-da1df64fe204"
      unitRef="usd">-3159000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNDQtMC0xLTEtNTYyNzMvdGV4dHJlZ2lvbjpmNTIxOGMzMWYyOGI0MDM3OTRhODA1MjgwNjM5MjhjZl8yMg_2ff1d89f-9755-4ca2-9839-9949532d8dd1"
      unitRef="usdPerShare">0.08</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:DividendsCommonStockCash
      contextRef="i1e98d2878dd347529baf47b6e230404a_D20211101-20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNDQtNS0xLTEtNTYyNzM_f86caa78-c0fd-4ca6-88d4-4075be8fc6fd"
      unitRef="usd">2587000</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="i9677e9d089064059a1aa8735e70e999e_D20211101-20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNDQtMTEtMS0xLTU2Mjcz_5fd49b0f-ce61-4f58-a868-d54cb119c99e"
      unitRef="usd">2587000</us-gaap:DividendsCommonStockCash>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i75772e94e33a4fb990b97c6a17213b26_D20211101-20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNDgtMy0xLTEtNTYyNzM_10c513a3-3178-403a-a9f2-20e6293df475"
      unitRef="usd">552000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i9677e9d089064059a1aa8735e70e999e_D20211101-20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNDgtMTEtMS0xLTU2Mjcz_b762f43c-099b-437e-be3b-3e41902648a9"
      unitRef="usd">552000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i75772e94e33a4fb990b97c6a17213b26_D20211101-20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNDktMy0xLTEtNTYyNzM_2a5d059a-76ae-4890-9811-d945ed2aeccc"
      unitRef="usd">5000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="iba518de09e6740148e9827e872f757e7_D20211101-20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNDktOS0xLTEtNTYyNzM_79eb8c55-9814-4e89-863c-79d4ddce962a"
      unitRef="usd">50000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i9677e9d089064059a1aa8735e70e999e_D20211101-20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNDktMTEtMS0xLTU2Mjcz_0382ae9f-77bc-41fa-bdbf-2f9aad7c13b0"
      unitRef="usd">55000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="i75772e94e33a4fb990b97c6a17213b26_D20211101-20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNTAtMy0xLTEtNTYyNzM_6d62b366-c838-4792-8396-366145511845"
      unitRef="usd">-1534000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="iba518de09e6740148e9827e872f757e7_D20211101-20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNTAtOS0xLTEtNTYyNzM_535cf0aa-762b-48e8-84b7-b9e1f2695a0f"
      unitRef="usd">1534000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <nx:StockIssuedDuringPeriodTreasurySharesPerformanceSharesVested
      contextRef="i75772e94e33a4fb990b97c6a17213b26_D20211101-20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNTEtMy0xLTEtNTYyNzM_f311cf14-a40a-4f28-bee6-52eb6cc723b7"
      unitRef="usd">-1598000</nx:StockIssuedDuringPeriodTreasurySharesPerformanceSharesVested>
    <nx:StockIssuedDuringPeriodTreasurySharesPerformanceSharesVested
      contextRef="iba518de09e6740148e9827e872f757e7_D20211101-20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNTEtOS0xLTEtNTYyNzM_aecb1fa2-b8ae-4479-b10c-530cabb99d33"
      unitRef="usd">1598000</nx:StockIssuedDuringPeriodTreasurySharesPerformanceSharesVested>
    <us-gaap:StockholdersEquityOther
      contextRef="i75772e94e33a4fb990b97c6a17213b26_D20211101-20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNTItMy0xLTEtNTYyNzM_ed5e153d-f6eb-49b8-94d9-d2e4d69f5f7f"
      unitRef="usd">1383000</us-gaap:StockholdersEquityOther>
    <us-gaap:StockholdersEquityOther
      contextRef="i9677e9d089064059a1aa8735e70e999e_D20211101-20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNTItMTEtMS0xLTU2Mjcz_c5381859-2546-4016-9acd-090868c6efde"
      unitRef="usd">1383000</us-gaap:StockholdersEquityOther>
    <us-gaap:StockholdersEquity
      contextRef="ia02ecf76fe794683b476ab79c44e489b_I20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNTMtMS0xLTEtNTYyNzM_1d9e4006-4180-46e3-b95d-47e6e9877066"
      unitRef="usd">373000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ie8478546437c4f6b8b4751a122815914_I20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNTMtMy0xLTEtNTYyNzM_6f1c199c-cfa6-4980-9d34-f1dd8b98b3cd"
      unitRef="usd">250204000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i2aa60b5a60284557aa1c6cacf2386fc9_I20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNTMtNS0xLTEtNTYyNzM_17b48d7a-cfed-493a-9bf6-f5d8479cc572"
      unitRef="usd">268370000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i9005b13218d546c19ba7520552837681_I20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNTMtNy0xLTEtNTYyNzM_bd40a1f4-d5b5-48c0-bb35-c02240a6a3e9"
      unitRef="usd">-24929000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i303d2e6bb39547cb8057dbcb535d16d0_I20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNTMtOS0xLTEtNTYyNzM_2b1c1b62-6dd0-4b3f-a93d-d29e12bac7a6"
      unitRef="usd">-69519000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ie9cafb46d5844279a1a11faed3062425_I20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNTMtMTEtMS0xLTU2Mjcz_741b3883-2ab6-46d0-a764-9be7ab88c9c8"
      unitRef="usd">424499000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="i9653fbe7a5b741e6b3762b7308b17c67_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNTQtNS0xLTEtNTYyNzM_c9fcc5c2-de9a-4a88-b18b-c0234c2e9729"
      unitRef="usd">26522000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNTQtMTEtMS0xLTU2Mjcz_f080e237-8b65-4bd1-91b4-643164937ae7"
      unitRef="usd">26522000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i5a3db028746743f09d9b93d23cdfc8e8_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNTUtNy0xLTEtNTYyNzM_0345d98a-dc12-4ce4-a209-799bd438b226"
      unitRef="usd">-11268000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNTUtMTEtMS0xLTU2Mjcz_7d96b240-e70f-4ce2-94c0-6d301db1cd9c"
      unitRef="usd">-11268000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="i9677e9d089064059a1aa8735e70e999e_D20211101-20220131"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNTYtMC0xLTEtNTYyNzMvdGV4dHJlZ2lvbjpmOTdhZTY3Mzg1Yzg0ZjU4YTc4MjUwMDQ2NWRiZTRlOV8yMg_a68ed5b0-a72f-45b7-a102-1ee3915d2905"
      unitRef="usdPerShare">0.08</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:DividendsCommonStockCash
      contextRef="i9653fbe7a5b741e6b3762b7308b17c67_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNTYtNS0xLTEtNTYyNzM_fec37d52-58fc-41b3-ba74-6cddd72e4ad4"
      unitRef="usd">2671000</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNTYtMTEtMS0xLTU2Mjcz_2ace5024-5764-4103-9ec3-e70405c460ec"
      unitRef="usd">2671000</us-gaap:DividendsCommonStockCash>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="i28bfe2bf2a7242fd86c272d6a7cce035_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNTctOS0xLTEtNTYyNzM_9c8d7981-2ad8-439c-8e72-be8d3a405462"
      unitRef="usd">1569000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNTctMTEtMS0xLTU2Mjcz_d087216c-55fd-47e2-86d4-d0e25f122d39"
      unitRef="usd">1569000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="ic78309b1948d41a29b4e426a15d8875c_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNTktMy0xLTEtNTYyNzM_3c09b393-fbfb-41fb-9350-83df7a891ad4"
      unitRef="usd">572000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNTktMTEtMS0xLTU2Mjcz_8c6c7716-f9e3-41ad-adf4-e6d508c5d0a1"
      unitRef="usd">572000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="ic78309b1948d41a29b4e426a15d8875c_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNjAtMy0xLTEtNTYyNzM_79107564-2294-434c-894a-85dfa92329c8"
      unitRef="usd">9000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i28bfe2bf2a7242fd86c272d6a7cce035_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNjAtOS0xLTEtNTYyNzM_1af12daa-5935-42ba-858f-2c378dd7591d"
      unitRef="usd">109000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNjAtMTEtMS0xLTU2Mjcz_967f3655-e29d-4709-84b1-a19ba2f9ddb9"
      unitRef="usd">118000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockholdersEquityOther
      contextRef="ic78309b1948d41a29b4e426a15d8875c_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNjMtMy0xLTEtNTYyNzM_76de6a1a-0eb0-4c6a-923d-01a7221fb421"
      unitRef="usd">29000</us-gaap:StockholdersEquityOther>
    <us-gaap:StockholdersEquityOther
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNjMtMTEtMS0xLTU2Mjcz_ddb88009-9544-4c83-ac0f-f67bf9197840"
      unitRef="usd">29000</us-gaap:StockholdersEquityOther>
    <us-gaap:StockholdersEquity
      contextRef="i74277587c529452e870f4e066a00f591_I20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNjQtMS0xLTEtNTYyNzM_cb2f5581-51a4-487f-ad2e-1e95aca9eb5e"
      unitRef="usd">373000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i850258492dd7487da5197167ae598a78_I20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNjQtMy0xLTEtNTYyNzM_9abb6ac8-f6b0-45f1-a8eb-dcd608852067"
      unitRef="usd">250756000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i2d135561d4244f57a9d568ff1f963e1b_I20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNjQtNS0xLTEtNTYyNzM_d7153d12-91e1-4f0b-9f2a-0f43a6e14578"
      unitRef="usd">292221000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ic2b7279b44ce4fc0b5b825fe20eb9619_I20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNjQtNy0xLTEtNTYyNzM_9c0a3b23-51bc-463b-9733-86933bf72b14"
      unitRef="usd">-36197000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i064188c878f741bb89bf20e82f71eb38_I20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNjQtOS0xLTEtNTYyNzM_e3b81ccb-afbf-4e08-acad-95bf310145ad"
      unitRef="usd">-70979000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i2bd52a04c8cb487f8a02c494fed62601_I20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8yOC9mcmFnOmU2MjAwYzZkYWM3YTQ4YmNiMjJmZGM5NDk0Yjc0MWExL3RhYmxlOmYyMDBlZDg4M2M1MTRjZGViY2U3NGZkYzU5OTJmOTBiL3RhYmxlcmFuZ2U6ZjIwMGVkODgzYzUxNGNkZWJjZTc0ZmRjNTk5MmY5MGJfNjQtMTEtMS0xLTU2Mjcz_ae2f7e97-417b-4934-9283-33ba76ef324d"
      unitRef="usd">436174000</us-gaap:StockholdersEquity>
    <us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RleHRyZWdpb246YTFkMDg1ZWExMjYzNGU5NWFjYWI0MDRkMzc3MGJhZmJfODc2MA_e4ec1247-16a8-4d6f-bb17-e553ba028499">Nature of Operations and Basis of Presentation &lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Quanex Building Products Corporation is a global, publicly traded manufacturing company primarily serving original equipment manufacturers (OEMs) in the fenestration, cabinetry, solar, refrigeration and outdoor products markets. These components can be categorized as window and door (fenestration) components and kitchen and bath cabinet components. Examples of fenestration components include: (1) energy-efficient flexible insulating glass spacers, (2) extruded vinyl profiles, (3) window and door screens, and (4) precision-formed metal and wood products. We also manufacture cabinet doors and other components for OEMs in the kitchen and bathroom cabinet industry. In addition, we provide certain other non-fenestration components and products, which include solar panel sealants, trim moldings, vinyl decking, vinyl fencing, customized compounds, water retention barriers, and conservatory roof components. We have organized our business into three reportable business segments. For additional discussion of our reportable business segments, see Note 12, &#x201c;Segment Information.&#x201d; We use low-cost, short lead-time production processes and engineering expertise to provide our customers with specialized products for their specific window, door, and cabinet applications. We believe these capabilities provide us with unique competitive advantages. We serve a primary customer base in North America and the United Kingdom (U.K.), and also serve customers in international markets through our operating plants in the U.K. and Germany, as well as through sales and marketing efforts in other countries. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt; Unless the context indicates otherwise, references to &#x201c;Quanex&#x201d;, the &#x201c;Company&#x201d;, &#x201c;we&#x201d;, &#x201c;us&#x201d; and &#x201c;our&#x201d; refer to the consolidated business operations of Quanex Building Products Corporation and its subsidiaries.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Basis of Presentation and Principles of Consolidation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The accompanying interim unaudited condensed consolidated financial statements include the accounts of Quanex Building Products Corporation. All intercompany accounts and transactions have been eliminated in consolidation. These financial statements have been prepared by us, without audit, pursuant to the rules and regulations of the Securities and Exchange Commission (SEC). Certain information and footnote disclosures normally included in financial statements prepared in accordance with accounting principles generally accepted in the United States of America (U.S. GAAP) have been condensed or omitted pursuant to such rules and regulations. The condensed consolidated balance sheet as of October&#160;31, 2022 was derived from audited financial information but does not include all disclosures required by U.S. GAAP. The accompanying financial statements should be read in conjunction with the audited consolidated financial statements and the notes thereto, included in our Annual Report on Form 10-K for the fiscal year ended October&#160;31, 2022. In our opinion, the accompanying financial statements contain all adjustments (which consist of normal recurring adjustments, except as disclosed herein) necessary to fairly present our financial position, results of operations and cash flows for the interim periods. The results of operations for the periods presented are not necessarily indicative of the results to be expected for the full year or for any future periods. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Use of Estimates&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In preparing financial statements, we make informed judgments and estimates that affect the reported amounts of assets and liabilities as of the date of the financial statements and affect the reported amounts of revenues and expenses during the reporting period. We review our estimates on an on-going basis, including those related to impairment of long-lived assets and goodwill, contingencies and income taxes. Changes in facts and circumstances may result in revised estimates and actual results may differ from these estimates.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Revenue from Contracts with Customers&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Revenue recognition&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We recognize revenue that reflects the consideration we expect to receive for product sales upon transfer to customers. Revenue for product sales is recognized when control of the promised products is transferred to our customers, and we are entitled to consideration in exchange for such transfer. We account for a contract when a customer provides us with a firm purchase order that identifies the products to be provided, the payment terms for those products, and when collectability of the consideration due is probable.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Performance obligations&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A performance obligation is a promise to provide the customer with a good or service. Our performance obligations include product sales, with each product included in a customer contract being recognized as a separate performance obligation.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For contracts with multiple performance obligations, the standalone selling price of each product is generally readily observable.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue from product sales is recognized at a point in time when the product is transferred to the customer, in accordance with the shipping terms, which is generally upon shipment. We estimate a provision for sales returns and warranty allowances to account for product returns related to general returns and product nonconformance.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We generally expense incremental costs of obtaining a contract when incurred because the amortization period would be less than one year. Additionally, we do not disclose the value of unsatisfied performance obligations for contracts with an original expected length of one year or less.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Pricing and sales incentives&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Pricing is established at or prior to the time of sale with our customers and we record sales at the agreed-upon net selling price, reflective of current and prospective discounts.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Shipping and handling costs&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We account for shipping and handling services as fulfillment services; accordingly, freight revenue is combined with the product deliverable rather than being accounted for as a distinct performance obligation within the terms of the agreement.  Shipping and handling costs incurred by us for the delivery of goods to customers are considered a cost to fulfill the contract and are included in cost of sales&#160;in the accompanying condensed consolidated statements of income.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Contract assets and liabilities&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Deferred revenue, which is not significant, is recorded when we have remaining unsatisfied performance obligations for which we have received consideration. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Disaggregation of revenue&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We produce a wide variety of products that are used in the fenestration industry, including window spacer systems; extruded vinyl products; metal fabricated products; and astragals, thresholds and screens. In addition, we produce certain non-fenestration products, including kitchen and bath cabinet doors and components, flooring and trim moldings, solar edge tape, plastic decking, fencing, water retention barriers, conservatory roof components, and other products. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes our product sales for the three and six months ended April&#160;30, 2023 and 2022 into groupings by segment which we believe depicts how the nature, amount, timing and uncertainty of our revenues and cash flows are affected by economic factors. For further details regarding our results by segment, refer to Note 13, &#x201c;Segment Information&#x201d;.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:37.699%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.541%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.541%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.541%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.971%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;North American Fenestration:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States - fenestration&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;120,756&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;156,843&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;241,523&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;285,210&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;International - fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,350&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,094&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,477&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,230&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States - non-fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,334&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,077&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,793&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;International - non-fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,535&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,894&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,555&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,306&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;156,975&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;177,908&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;309,955&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;324,539&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;European Fenestration:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;International - fenestration&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,903&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,863&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;90,257&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;99,484&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;International - non-fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,860&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,564&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,458&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,857&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;63,763&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;73,427&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;118,715&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;132,341&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;North American Cabinet Components:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States - fenestration&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,219&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,666&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,127&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,431&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States - non-fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,526&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;67,383&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;98,575&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;125,150&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;International - non-fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;773&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;829&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,490&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,650&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53,518&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;72,878&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;108,192&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;135,231&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Unallocated Corporate &amp;amp; Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Eliminations&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(721)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,320)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,411)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,178)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(721)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,320)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,411)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,178)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;273,535&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;322,893&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;535,451&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;589,933&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Allowance for Credit Losses&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have established an allowance for credit losses to estimate the risk of losses, which represents an estimate of expected losses over the remaining contractual life of our receivables. The allowance is determined using two methods. The amounts calculated from each of these methods are combined to determine the total amount reserved. First, a specific reserve is established for individual accounts where information indicates the customers may have an inability to meet financial obligations. Second, a reserve is determined for all customers based on a range of percentages applied to aging categories. These percentages are based on historical collection rates, write-off experience, and forecasts of future economic conditions. Actual write-offs are charged against the allowance when collection efforts have been unsuccessful.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Related Parties&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;N&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;et sales include transactions with a customer which is a related party with one of our non-employee directors for the six months ended April 30, 2023 of approxim&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;ately $0.6&#160;million and $1.1&#160;million for the comparable prior year period&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;. We performed a review of these transactions, of which no single transaction or series of related transactions exceeded $120,000 in amount, and determined that these transactions were enacted independently of each other. We are not aware of any other related party transactions with any of our current non-employee directors or officers outside of their normal business functions or expected contractual duties.&lt;/span&gt;&lt;/div&gt;</us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock>
    <us-gaap:NumberOfReportableSegments
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RleHRyZWdpb246YTFkMDg1ZWExMjYzNGU5NWFjYWI0MDRkMzc3MGJhZmJfMTAwNQ_835bca60-a49b-4624-baae-798c1297d17e"
      unitRef="segment">3</us-gaap:NumberOfReportableSegments>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RleHRyZWdpb246YTFkMDg1ZWExMjYzNGU5NWFjYWI0MDRkMzc3MGJhZmJfODc2Mw_59afac0a-4058-4661-9ab0-a04689cb7167">&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:37.699%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.541%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.541%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.541%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.971%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;North American Fenestration:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States - fenestration&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;120,756&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;156,843&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;241,523&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;285,210&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;International - fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,350&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,094&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,477&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,230&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States - non-fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,334&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,077&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,793&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;International - non-fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,535&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,894&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,555&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,306&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;156,975&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;177,908&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;309,955&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;324,539&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;European Fenestration:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;International - fenestration&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,903&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,863&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;90,257&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;99,484&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;International - non-fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,860&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,564&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,458&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,857&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;63,763&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;73,427&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;118,715&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;132,341&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;North American Cabinet Components:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States - fenestration&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,219&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,666&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,127&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,431&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States - non-fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,526&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;67,383&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;98,575&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;125,150&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;International - non-fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;773&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;829&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,490&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,650&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53,518&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;72,878&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;108,192&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;135,231&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Unallocated Corporate &amp;amp; Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Eliminations&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(721)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,320)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,411)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,178)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(721)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,320)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,411)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,178)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;273,535&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;322,893&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;535,451&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;589,933&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i58018597f5c040eba95f13d020b7e0fe_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfNS0xLTEtMS01NjI3Mw_da9537d7-b06b-4f9c-9f82-52e401d2f736"
      unitRef="usd">120756000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib615a518aad640faa68619de38e380a0_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfNS0zLTEtMS01NjI3Mw_e8c53519-0789-4a7b-969b-0c48d2032459"
      unitRef="usd">156843000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i862a3e0eff19494cace3b8b5a36d3b8d_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfNS01LTEtMS01NjI3Mw_094e6ca6-3d55-42a7-a158-f3b200504450"
      unitRef="usd">241523000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib51dd406fd694f0384276685681636bd_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfNS03LTEtMS01NjI3Mw_977dfbc6-53ae-4ba1-b03f-d31aa6a2e44d"
      unitRef="usd">285210000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2184420ed8e6477c9ab01291b80fd915_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfNi0xLTEtMS01NjI3Mw_bf087894-3b5b-4adc-9e5e-e2126efa8908"
      unitRef="usd">8350000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3897f3dd546a40889e9f6c27d3e134c8_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfNi0zLTEtMS01NjI3Mw_a0cf4413-71d8-4806-a2b2-077ea70df8b2"
      unitRef="usd">11094000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i79f2d7951b26476490354cf60d699122_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfNi01LTEtMS01NjI3Mw_6a3e128a-95ff-45ae-978a-474f0cc307b4"
      unitRef="usd">13477000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i06da876ba3394688842b20141768fd04_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfNi03LTEtMS01NjI3Mw_fe0eb983-5147-405a-a88b-3d77ae97b06b"
      unitRef="usd">20230000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2318b578f33e4c32b3239d946b6fc37c_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfNy0xLTEtMS01NjI3Mw_ea9ce192-86c1-43e6-8a46-3a467408dd74"
      unitRef="usd">24334000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3414c16efc34446cbe46b95956a20e4a_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfNy0zLTEtMS01NjI3Mw_6bedf2ec-841a-47f4-96f5-5199a219c7e9"
      unitRef="usd">7077000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5e5d867183da4c678c7a62dcd1200bbb_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfNy01LTEtMS01NjI3Mw_39476ac5-f6f1-4003-9075-1cd418e44e7d"
      unitRef="usd">47400000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia5698b5e3efc472c99344f9cee6e9fab_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfNy03LTEtMS01NjI3Mw_3fa9e491-2ceb-4c2c-b77d-72f9fadbf575"
      unitRef="usd">13793000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i495b682206d34391bbc347b70d031dbc_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfOC0xLTEtMS01NjI3Mw_ee2f26f6-fa87-4ed8-b28e-41617841a548"
      unitRef="usd">3535000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6b6333bb6e9047dd97fbc5545ebc19a7_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfOC0zLTEtMS01NjI3Mw_35cb509a-b981-4183-81ab-0da81740444b"
      unitRef="usd">2894000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0ff403c7d9394c1cb0ff02347ae939e7_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfOC01LTEtMS01NjI3Mw_d4774d6c-3f12-4ad0-ac58-9181f84c8b9e"
      unitRef="usd">7555000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5550586076b8425782a88a52c5a31e3d_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfOC03LTEtMS01NjI3Mw_47be149e-5782-40fb-8394-2fe89893ba15"
      unitRef="usd">5306000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i688fdfe3f72f4536aec9134e6d39f4d6_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfOS0xLTEtMS01NjI3Mw_12cedfd4-dc85-4060-9d88-8f34b6f6b8ff"
      unitRef="usd">156975000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i889d75243cee4741bf3b07c83346ce03_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfOS0zLTEtMS01NjI3Mw_0d909403-04f3-45ac-81c3-5a30fcbf0f2b"
      unitRef="usd">177908000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib629f9bda4f247a0b5fc982ffba70296_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfOS01LTEtMS01NjI3Mw_c3ec115e-7039-4529-9456-edba1986593b"
      unitRef="usd">309955000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i24f392c0aafd4716bfbfa6a3d8d44831_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfOS03LTEtMS01NjI3Mw_d648a73e-dc20-4ece-b32c-e39b62b8b754"
      unitRef="usd">324539000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic54a7f9f1cc7438caa982db4cf2f8085_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfMTItMS0xLTEtNTYyNzM_c1ae1ebf-7c82-4b2f-b1ba-4050423d4a28"
      unitRef="usd">47903000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3b32acddd5754b89aa42070b1b87ae49_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfMTItMy0xLTEtNTYyNzM_9480ef5f-9b1b-4a61-8bc8-5a024b501df7"
      unitRef="usd">54863000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iaec074f4b6b1448195349039c48229f7_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfMTItNS0xLTEtNTYyNzM_89999308-bc18-40ca-8ddf-d2f49deafedf"
      unitRef="usd">90257000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6d03682b326e4dc88b423f926bb15d15_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfMTItNy0xLTEtNTYyNzM_65b504f5-9898-4642-858a-dc99976d5bec"
      unitRef="usd">99484000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib7fb7da87281406cb18c61cb0a264803_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfMTMtMS0xLTEtNTYyNzM_70f28297-ce49-4794-86e5-318b49bb931d"
      unitRef="usd">15860000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i76de02272d0d48d8942a64053dbb6382_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfMTMtMy0xLTEtNTYyNzM_021eda36-c506-4c4a-947c-bde31a4a9ec7"
      unitRef="usd">18564000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4367b0eafee645eca82a13698c166aa6_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfMTMtNS0xLTEtNTYyNzM_b3ae2fa7-1cc2-4a67-965d-7ad8718c58ff"
      unitRef="usd">28458000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iebea44507f4a42938baac88f9522b9fe_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfMTMtNy0xLTEtNTYyNzM_c772eead-9f78-43e4-b74c-79d51c338338"
      unitRef="usd">32857000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i55a7460c21b1407ba995e72025a5851e_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfMTQtMS0xLTEtNTYyNzM_b45f7801-78a7-4080-a3bf-100cdce69c46"
      unitRef="usd">63763000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i342dc7414f4e44599ce55d67b21e77b8_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfMTQtMy0xLTEtNTYyNzM_5ae9920c-677c-40f9-b96b-92e7a25de9d7"
      unitRef="usd">73427000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i76b2953f782f46d889fef6a68cc6facb_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfMTQtNS0xLTEtNTYyNzM_ecb8848f-04ba-4cf5-bc3c-5febd9015256"
      unitRef="usd">118715000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie3e00d77b5f745349e02e06d2de802d7_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfMTQtNy0xLTEtNTYyNzM_841917fb-ab51-4799-ae6e-9ded6bf59c97"
      unitRef="usd">132341000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9f7e826250784f0b9e3f5dc1500f3792_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfMTYtMS0xLTEtNTYyNzM_cd1966c7-14b4-4d2c-a620-846628451d65"
      unitRef="usd">4219000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic97d073e2e834df59c690f589776c010_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfMTYtMy0xLTEtNTYyNzM_efe53542-a73e-41e5-90ca-3fe5e6ae8205"
      unitRef="usd">4666000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ice8848b021b44d1385bb2616ec2bb51e_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfMTYtNS0xLTEtNTYyNzM_d9a6470c-9137-4e80-9b00-18ddc4731849"
      unitRef="usd">8127000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ied1ca9f021b148d1ae6e053b0eee5666_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfMTYtNy0xLTEtNTYyNzM_2543c105-6d41-431a-9192-67268faf6fe2"
      unitRef="usd">8431000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i56385f6b35114490a4cf438917152d3d_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfMTctMS0xLTEtNTYyNzM_4d895ad5-6014-44e5-b508-4c6002f63990"
      unitRef="usd">48526000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i197681cfcf634dbeb7fb9bcc661211b2_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfMTctMy0xLTEtNTYyNzM_06a71906-bb8f-4690-bfd6-038266a4450c"
      unitRef="usd">67383000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9cae9c38bdf949229ff6ceab3647dce4_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfMTctNS0xLTEtNTYyNzM_3cef4ea5-9e04-4a3f-b484-b742d732a8bd"
      unitRef="usd">98575000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7c94c485d7f54680a8677d129fa24829_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfMTctNy0xLTEtNTYyNzM_16479679-746c-4e66-b102-52977ee90ed9"
      unitRef="usd">125150000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i16187f4000d1428e82cbe72f593e6ac1_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfMTgtMS0xLTEtNTYyNzM_bd668101-dd1f-4303-9d87-cae55b90fef1"
      unitRef="usd">773000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i146b64484da44119aa48b4d6f4628148_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfMTgtMy0xLTEtNTYyNzM_09453cb3-8956-42be-89f2-a26c0980ab83"
      unitRef="usd">829000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i711a8022146d4e998694dae0ebe43a74_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfMTgtNS0xLTEtNTYyNzM_0b1531ba-8b6d-4b0e-a761-b6328c781081"
      unitRef="usd">1490000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if5806a8a29e74fd6bd1793ffa60c4468_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfMTgtNy0xLTEtNTYyNzM_a998ce6a-338b-4157-97cf-9b0384e66363"
      unitRef="usd">1650000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6c8f1c0c714f48b7acc5c0c14acdd2f6_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfMTktMS0xLTEtNTYyNzM_a4c8597b-b738-474f-9a87-1c5665a4b564"
      unitRef="usd">53518000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ibc944a8338dc4d108f9cc8feb1e9f8c8_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfMTktMy0xLTEtNTYyNzM_8fe072a4-d903-4ffc-97e4-d4fdfc7a6f90"
      unitRef="usd">72878000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i15abfd703e844ca6b5de13a95882cc87_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfMTktNS0xLTEtNTYyNzM_497dcf0a-3659-4967-bfae-108ec77fdc88"
      unitRef="usd">108192000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i86b2c2ec903b4e73be0130fdcad80ae9_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfMTktNy0xLTEtNTYyNzM_bec047c8-0f80-45f6-b675-669113bd7183"
      unitRef="usd">135231000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4ea3c91fcdf240ed9c576aa9fa680b42_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfMjEtMS0xLTEtNTYyNzM_50e042b4-1fcb-4c57-8cb5-b45580e8f3ca"
      unitRef="usd">-721000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="idb0ae1902ebd4e4aa78f7e13fdd03ea6_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfMjEtMy0xLTEtNTYyNzM_64fbd6cf-3120-4056-ad62-f82ec29189e1"
      unitRef="usd">-1320000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1819ae025453449e801309c73c9bab72_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfMjEtNS0xLTEtNTYyNzM_a5ef6f33-bf48-45ac-bc69-d18aca7eb68d"
      unitRef="usd">-1411000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if0c1072e4ec046e0b8191e7db0e42224_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfMjEtNy0xLTEtNTYyNzM_b4c7808f-f238-41cc-8639-7fa7d59eb928"
      unitRef="usd">-2178000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4ea3c91fcdf240ed9c576aa9fa680b42_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfMjItMS0xLTEtNTYyNzM_0e748df2-96d8-4d3c-a106-ddc8b7f4618f"
      unitRef="usd">-721000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="idb0ae1902ebd4e4aa78f7e13fdd03ea6_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfMjItMy0xLTEtNTYyNzM_106ef343-10c0-4d94-bd5e-c2be9806b398"
      unitRef="usd">-1320000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1819ae025453449e801309c73c9bab72_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfMjItNS0xLTEtNTYyNzM_2fbed7f0-f2d8-49fd-9e0e-a73de0232718"
      unitRef="usd">-1411000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if0c1072e4ec046e0b8191e7db0e42224_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfMjItNy0xLTEtNTYyNzM_c3d42f4a-9661-4b00-ba8a-29cc911d2636"
      unitRef="usd">-2178000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfMjMtMS0xLTEtNTYyNzM_6711adeb-118f-4ab8-9f23-91ce67854fb3"
      unitRef="usd">273535000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfMjMtMy0xLTEtNTYyNzM_c82c0cbf-eebb-4c11-83a1-3810650eb83b"
      unitRef="usd">322893000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfMjMtNS0xLTEtNTYyNzM_401bbfb2-fe2c-43bc-9366-5c8ce3d169b7"
      unitRef="usd">535451000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RhYmxlOjBiOGUyMWUyMjNkNzQ0NGM4OTM1YTc1MDZkYTA3NTVmL3RhYmxlcmFuZ2U6MGI4ZTIxZTIyM2Q3NDQ0Yzg5MzVhNzUwNmRhMDc1NWZfMjMtNy0xLTEtNTYyNzM_c7f14b8b-2dba-42fd-8bb8-af91dbdaa919"
      unitRef="usd">589933000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromRelatedParties
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RleHRyZWdpb246YTFkMDg1ZWExMjYzNGU5NWFjYWI0MDRkMzc3MGJhZmJfODMwMQ_920bc341-2e08-4ff5-9051-156cafbde549"
      unitRef="usd">600000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RleHRyZWdpb246YTFkMDg1ZWExMjYzNGU5NWFjYWI0MDRkMzc3MGJhZmJfODMwOA_8a218c6c-2bfa-445b-a18e-61bafbb07cc6"
      unitRef="usd">1100000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="id7c214fbbb10461593fb77e733d04196_D20221101-20230430"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNC9mcmFnOmExZDA4NWVhMTI2MzRlOTVhY2FiNDA0ZDM3NzBiYWZiL3RleHRyZWdpb246YTFkMDg1ZWExMjYzNGU5NWFjYWI0MDRkMzc3MGJhZmJfODQ2NA_c03cba03-06b4-4aa3-afc3-d3bc5b2c37f0"
      unitRef="usd">120000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:AssetAcquisitionTextBlock
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNy9mcmFnOjRjOTEzOWEyMmUzMjQyNGZhOTU1NDRkNzVjZTliZWU2L3RleHRyZWdpb246NGM5MTM5YTIyZTMyNDI0ZmE5NTU0NGQ3NWNlOWJlZTZfMzM5OQ_b95c04b9-84d0-42cb-80eb-32b86b79ddad">Acquisition&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On November 1, 2022, we entered into an Asset Purchase Agreement (the &#x201c;Purchase Agreement&#x201d;) with LMI Custom Mixing, LLC (&#x201c;LMI&#x201d;) and the equity owners of LMI, Lauren International, Ltd. and Meteor-US-Beteiligungs GMBH. Under the Purchase Agreement, we acquired substantially all of the operating assets comprising LMI&#x2019;s polymer mixing and rubber compound production business (collectively, the &#x201c;Purchased Assets&#x201d;) and also agreed to assume certain liabilities relating to the Purchased Assets (collectively, the &#x201c;Acquisition&#x201d;). As consideration for the Purchased Assets, we paid &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$91.3&#160;million&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; in cash utilizing funds borrowed under our Credit Facility. Subsequent to the Acquisition, we had approximately $215&#160;million available for use under t&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;he Credit Facility. For the three and six months ended April&#160;30, 2023, our consolidated operating results included net sales of $17.8&#160;million and $34.2&#160;million, respectively, and operating income of $1.4&#160;million and $3.4&#160;million, respectively, associated with LMI. In connection with the Acquisition, we amended our existing financ&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;e lease with Lauren Real Estate Holding LLC for the purpose of adding an additional lease renewal option and increasing rental space by approximately 60,000 square feet of rental space which was added to the 313,595 square feet of rentable area located in Cambridge, Ohio.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of April&#160;30, 2023, we are still determining the purchase price allocation for &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;LMI&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;. A preliminary purchase price allocation of the fair value of the assets acquired and liabilities assumed is included in the table below. These estimates are subject to change and will likely result in an increase or decrease in goodwill, particularly with regard to third-party valuations and our estimates of fixed assets, intangible assets, and inventory, during the measurement period, which may extend up to one year from the acquisition date.  During the three months ended April&#160;30, 2023, we reduced both the opening balance of goodwill and consideration paid by &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$0.7&#160;million&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; due to the settlement of the post-closing working capital adjustment with LMI. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:79.455%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.345%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of Date of&lt;br/&gt;Opening&#160;Balance Sheet&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net assets acquired:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts receivable&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,012&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Inventories, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,684&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;790&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property, plant and equipment, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,887&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,393&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intangible assets, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts payable&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,736)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(507)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-term debt (finance leases)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13,721)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net assets acquired&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;91,302&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Consideration:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash, net of cash and cash equivalents acquired&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;91,302&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We used recognized valuation techniques to determine the preliminary fair value of the assets and liabilities, including the excess earnings method for customer relationships and relief from royalty method for trade names and other technology with a discount rate that reflects the risk of the expected future cash flows. The goodwill balance is deductible for tax purposes. LMI is allocated entirely to our North American Fenestration reportable operating segment.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Pro Forma Results&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We calculated the pro forma impact of the LMI acquisitions and the associated debt financing on our operating results for the three months ended April&#160;30, 2022. The following pro forma results give effect to these acquisitions, assuming the transactions occurred on November 1, 2021.&lt;/span&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:55.058%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:20.454%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:20.455%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Pro Forma Results&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;For the Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;For the Six Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(In&#160;thousands,&#160;except&#160;per&#160;share&#160;amounts)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;text-indent:-13.5pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;339,514&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;621,872&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;text-indent:-13.5pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,884&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,603&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;text-indent:-13.5pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic earnings per share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.84&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.23&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;text-indent:-13.5pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted earnings per share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.84&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.22&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We derived the pro forma results for the LMI acquisition based on historical financial information obtained from the sellers and certain management assumptions. Our pro forma adjustm&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;ents relate to the elimination of LMI intercompany sales to our North American Fenestration reportable segment and related &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;cost of sales, incremental depreciation and amortization expense associated with property, plant and equipment and intangible assets to affect the transactions, assu&lt;/span&gt;ming a November 1, 2021 effective date. In addition, we calculated the tax impact of these adjustments at a 25% effective tax rate.</us-gaap:AssetAcquisitionTextBlock>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity
      contextRef="ife2a8bf030a445b89761bae5e7841972_I20221101"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNy9mcmFnOjRjOTEzOWEyMmUzMjQyNGZhOTU1NDRkNzVjZTliZWU2L3RleHRyZWdpb246NGM5MTM5YTIyZTMyNDI0ZmE5NTU0NGQ3NWNlOWJlZTZfOTI3_43a966dc-fba2-4e6e-83c0-25db6410d435"
      unitRef="usd">215000000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1bed045f39444dbbadd24c7d8dba10d8_D20230201-20230430"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNy9mcmFnOjRjOTEzOWEyMmUzMjQyNGZhOTU1NDRkNzVjZTliZWU2L3RleHRyZWdpb246NGM5MTM5YTIyZTMyNDI0ZmE5NTU0NGQ3NWNlOWJlZTZfNTQ5NzU1ODE3NzQz_3fdf46ab-d632-42c3-b593-b1e43b3c2057"
      unitRef="usd">17800000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3744beb947cf42c39693eb7f57150ae4_D20221101-20230430"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNy9mcmFnOjRjOTEzOWEyMmUzMjQyNGZhOTU1NDRkNzVjZTliZWU2L3RleHRyZWdpb246NGM5MTM5YTIyZTMyNDI0ZmE5NTU0NGQ3NWNlOWJlZTZfNTQ5NzU1ODE3NDcw_0edea6bd-0f67-4598-ba3d-11245f34620f"
      unitRef="usd">34200000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:OperatingIncomeLoss
      contextRef="i1bed045f39444dbbadd24c7d8dba10d8_D20230201-20230430"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNy9mcmFnOjRjOTEzOWEyMmUzMjQyNGZhOTU1NDRkNzVjZTliZWU2L3RleHRyZWdpb246NGM5MTM5YTIyZTMyNDI0ZmE5NTU0NGQ3NWNlOWJlZTZfNTQ5NzU1ODE3NzU2_bc835a3a-fc6f-4b39-b6af-3e265d16a088"
      unitRef="usd">1400000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i3744beb947cf42c39693eb7f57150ae4_D20221101-20230430"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNy9mcmFnOjRjOTEzOWEyMmUzMjQyNGZhOTU1NDRkNzVjZTliZWU2L3RleHRyZWdpb246NGM5MTM5YTIyZTMyNDI0ZmE5NTU0NGQ3NWNlOWJlZTZfNTQ5NzU1ODE3NTE4_78993620-45fa-4306-b735-24ebc628864e"
      unitRef="usd">3400000</us-gaap:OperatingIncomeLoss>
    <nx:IncreaseInNetRentableArea
      contextRef="iedb0c26912ad41e4a54b2ff3a854c786_I20221101"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNy9mcmFnOjRjOTEzOWEyMmUzMjQyNGZhOTU1NDRkNzVjZTliZWU2L3RleHRyZWdpb246NGM5MTM5YTIyZTMyNDI0ZmE5NTU0NGQ3NWNlOWJlZTZfMTM3NQ_ecccb40f-cdec-4f04-af44-c9ff46cac75c"
      unitRef="sqft">60000</nx:IncreaseInNetRentableArea>
    <us-gaap:NetRentableArea
      contextRef="iedb0c26912ad41e4a54b2ff3a854c786_I20221101"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNy9mcmFnOjRjOTEzOWEyMmUzMjQyNGZhOTU1NDRkNzVjZTliZWU2L3RleHRyZWdpb246NGM5MTM5YTIyZTMyNDI0ZmE5NTU0NGQ3NWNlOWJlZTZfMTQyOQ_870c4230-4759-4ebb-858d-451da256a70f"
      unitRef="sqft">313595</us-gaap:NetRentableArea>
    <us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNy9mcmFnOjRjOTEzOWEyMmUzMjQyNGZhOTU1NDRkNzVjZTliZWU2L3RleHRyZWdpb246NGM5MTM5YTIyZTMyNDI0ZmE5NTU0NGQ3NWNlOWJlZTZfMzQwMQ_095344f9-abbb-440c-95ae-d56ee015a542">&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of April&#160;30, 2023, we are still determining the purchase price allocation for &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;LMI&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;. A preliminary purchase price allocation of the fair value of the assets acquired and liabilities assumed is included in the table below. These estimates are subject to change and will likely result in an increase or decrease in goodwill, particularly with regard to third-party valuations and our estimates of fixed assets, intangible assets, and inventory, during the measurement period, which may extend up to one year from the acquisition date.  During the three months ended April&#160;30, 2023, we reduced both the opening balance of goodwill and consideration paid by &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$0.7&#160;million&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; due to the settlement of the post-closing working capital adjustment with LMI. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:79.455%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.345%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;As of Date of&lt;br/&gt;Opening&#160;Balance Sheet&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(In thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net assets acquired:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts receivable&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,012&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Inventories, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,684&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;790&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property, plant and equipment, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,887&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,393&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intangible assets, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts payable&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,736)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(507)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-term debt (finance leases)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13,721)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net assets acquired&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;91,302&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Consideration:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash, net of cash and cash equivalents acquired&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;91,302&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock>
    <us-gaap:GoodwillPeriodIncreaseDecrease
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNy9mcmFnOjRjOTEzOWEyMmUzMjQyNGZhOTU1NDRkNzVjZTliZWU2L3RleHRyZWdpb246NGM5MTM5YTIyZTMyNDI0ZmE5NTU0NGQ3NWNlOWJlZTZfNTQ5NzU1ODE4NDI5_94404de9-2002-4a87-8b6a-ccb5c9d24d77"
      unitRef="usd">-700000</us-gaap:GoodwillPeriodIncreaseDecrease>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="i0bb4709bd55c4a14a5e0c72eb245b762_I20221101"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNy9mcmFnOjRjOTEzOWEyMmUzMjQyNGZhOTU1NDRkNzVjZTliZWU2L3RhYmxlOjQxMDZhNTY1Yzg1MTQzN2E4M2QwNWVjNDE2N2Y2Zjg2L3RhYmxlcmFuZ2U6NDEwNmE1NjVjODUxNDM3YTgzZDA1ZWM0MTY3ZjZmODZfMy0xLTEtMS01NjI3Mw_792be100-0a5d-420f-8bf6-0f5132b6b7d2"
      unitRef="usd">7012000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory
      contextRef="i0bb4709bd55c4a14a5e0c72eb245b762_I20221101"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNy9mcmFnOjRjOTEzOWEyMmUzMjQyNGZhOTU1NDRkNzVjZTliZWU2L3RhYmxlOjQxMDZhNTY1Yzg1MTQzN2E4M2QwNWVjNDE2N2Y2Zjg2L3RhYmxlcmFuZ2U6NDEwNmE1NjVjODUxNDM3YTgzZDA1ZWM0MTY3ZjZmODZfNC0xLTEtMS01NjI3Mw_dd6d80c2-0892-4b8c-b2a2-14270cdf1fae"
      unitRef="usd">5684000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets
      contextRef="i0bb4709bd55c4a14a5e0c72eb245b762_I20221101"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNy9mcmFnOjRjOTEzOWEyMmUzMjQyNGZhOTU1NDRkNzVjZTliZWU2L3RhYmxlOjQxMDZhNTY1Yzg1MTQzN2E4M2QwNWVjNDE2N2Y2Zjg2L3RhYmxlcmFuZ2U6NDEwNmE1NjVjODUxNDM3YTgzZDA1ZWM0MTY3ZjZmODZfNS0xLTEtMS01NjI3Mw_93095f3f-0bea-42be-ab2d-8dc7a8117d5c"
      unitRef="usd">790000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment
      contextRef="i0bb4709bd55c4a14a5e0c72eb245b762_I20221101"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNy9mcmFnOjRjOTEzOWEyMmUzMjQyNGZhOTU1NDRkNzVjZTliZWU2L3RhYmxlOjQxMDZhNTY1Yzg1MTQzN2E4M2QwNWVjNDE2N2Y2Zjg2L3RhYmxlcmFuZ2U6NDEwNmE1NjVjODUxNDM3YTgzZDA1ZWM0MTY3ZjZmODZfNi0xLTEtMS01NjI3Mw_898a2392-d2ed-40cf-bea2-9be4126a9305"
      unitRef="usd">35887000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <us-gaap:Goodwill
      contextRef="i0bb4709bd55c4a14a5e0c72eb245b762_I20221101"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNy9mcmFnOjRjOTEzOWEyMmUzMjQyNGZhOTU1NDRkNzVjZTliZWU2L3RhYmxlOjQxMDZhNTY1Yzg1MTQzN2E4M2QwNWVjNDE2N2Y2Zjg2L3RhYmxlcmFuZ2U6NDEwNmE1NjVjODUxNDM3YTgzZDA1ZWM0MTY3ZjZmODZfNy0xLTEtMS01NjI3Mw_2b45ff31-54a2-4956-90fc-c76dcce3d5f5"
      unitRef="usd">41393000</us-gaap:Goodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="i0bb4709bd55c4a14a5e0c72eb245b762_I20221101"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNy9mcmFnOjRjOTEzOWEyMmUzMjQyNGZhOTU1NDRkNzVjZTliZWU2L3RhYmxlOjQxMDZhNTY1Yzg1MTQzN2E4M2QwNWVjNDE2N2Y2Zjg2L3RhYmxlcmFuZ2U6NDEwNmE1NjVjODUxNDM3YTgzZDA1ZWM0MTY3ZjZmODZfOC0xLTEtMS01NjI3Mw_32fa7763-1cfb-475d-b6f3-c60137f43780"
      unitRef="usd">19500000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable
      contextRef="i0bb4709bd55c4a14a5e0c72eb245b762_I20221101"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNy9mcmFnOjRjOTEzOWEyMmUzMjQyNGZhOTU1NDRkNzVjZTliZWU2L3RhYmxlOjQxMDZhNTY1Yzg1MTQzN2E4M2QwNWVjNDE2N2Y2Zjg2L3RhYmxlcmFuZ2U6NDEwNmE1NjVjODUxNDM3YTgzZDA1ZWM0MTY3ZjZmODZfOS0xLTEtMS01NjI3Mw_53d507b7-0f1a-41ed-b7d5-938f36003a76"
      unitRef="usd">4736000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther
      contextRef="i0bb4709bd55c4a14a5e0c72eb245b762_I20221101"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNy9mcmFnOjRjOTEzOWEyMmUzMjQyNGZhOTU1NDRkNzVjZTliZWU2L3RhYmxlOjQxMDZhNTY1Yzg1MTQzN2E4M2QwNWVjNDE2N2Y2Zjg2L3RhYmxlcmFuZ2U6NDEwNmE1NjVjODUxNDM3YTgzZDA1ZWM0MTY3ZjZmODZfMTAtMS0xLTEtNTYyNzM_e2ade64f-0cb5-4a6e-aa32-2d89c2fa9d75"
      unitRef="usd">507000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther>
    <nx:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLease
      contextRef="i0bb4709bd55c4a14a5e0c72eb245b762_I20221101"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNy9mcmFnOjRjOTEzOWEyMmUzMjQyNGZhOTU1NDRkNzVjZTliZWU2L3RhYmxlOjQxMDZhNTY1Yzg1MTQzN2E4M2QwNWVjNDE2N2Y2Zjg2L3RhYmxlcmFuZ2U6NDEwNmE1NjVjODUxNDM3YTgzZDA1ZWM0MTY3ZjZmODZfMTEtMS0xLTEtNTYyNzM_c537b70a-72b6-40ce-99ba-904a780bcb1f"
      unitRef="usd">13721000</nx:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesLease>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="i0bb4709bd55c4a14a5e0c72eb245b762_I20221101"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNy9mcmFnOjRjOTEzOWEyMmUzMjQyNGZhOTU1NDRkNzVjZTliZWU2L3RhYmxlOjQxMDZhNTY1Yzg1MTQzN2E4M2QwNWVjNDE2N2Y2Zjg2L3RhYmxlcmFuZ2U6NDEwNmE1NjVjODUxNDM3YTgzZDA1ZWM0MTY3ZjZmODZfMTItMS0xLTEtNTYyNzM_9c24d50d-5405-4b72-a8cb-76e3bbc867c9"
      unitRef="usd">91302000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="i3744beb947cf42c39693eb7f57150ae4_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNy9mcmFnOjRjOTEzOWEyMmUzMjQyNGZhOTU1NDRkNzVjZTliZWU2L3RhYmxlOjQxMDZhNTY1Yzg1MTQzN2E4M2QwNWVjNDE2N2Y2Zjg2L3RhYmxlcmFuZ2U6NDEwNmE1NjVjODUxNDM3YTgzZDA1ZWM0MTY3ZjZmODZfMTQtMS0xLTEtNTYyNzM_f7376558-4be5-4e0f-836b-e84cc10671a7"
      unitRef="usd">91302000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:BusinessAcquisitionProFormaInformationTextBlock
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNy9mcmFnOjRjOTEzOWEyMmUzMjQyNGZhOTU1NDRkNzVjZTliZWU2L3RleHRyZWdpb246NGM5MTM5YTIyZTMyNDI0ZmE5NTU0NGQ3NWNlOWJlZTZfMzQwMA_82bbe70a-cffc-4a5d-b299-f23533639ca5">We calculated the pro forma impact of the LMI acquisitions and the associated debt financing on our operating results for the three months ended April&#160;30, 2022. The following pro forma results give effect to these acquisitions, assuming the transactions occurred on November 1, 2021.&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:55.058%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:20.454%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:20.455%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Pro Forma Results&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;For the Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;For the Six Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(In&#160;thousands,&#160;except&#160;per&#160;share&#160;amounts)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;text-indent:-13.5pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;339,514&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;621,872&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;text-indent:-13.5pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,884&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,603&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;text-indent:-13.5pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic earnings per share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.84&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.23&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;text-indent:-13.5pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted earnings per share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.84&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.22&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:BusinessAcquisitionProFormaInformationTextBlock>
    <us-gaap:BusinessAcquisitionsProFormaRevenue
      contextRef="ic5fbf21a10f54575831b9c4ec75a1bbc_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNy9mcmFnOjRjOTEzOWEyMmUzMjQyNGZhOTU1NDRkNzVjZTliZWU2L3RhYmxlOmQxZGNkNTZlYjc2MTQxZWNiNGY5MDc1MzJjYzU2OWY2L3RhYmxlcmFuZ2U6ZDFkY2Q1NmViNzYxNDFlY2I0ZjkwNzUzMmNjNTY5ZjZfNC00LTEtMS01NjI3Mw_7968459f-52de-4498-8bd4-5b30c7b6d9b4"
      unitRef="usd">339514000</us-gaap:BusinessAcquisitionsProFormaRevenue>
    <us-gaap:BusinessAcquisitionsProFormaRevenue
      contextRef="i5070dba93af7410dbfce12ee8ffa25e3_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNy9mcmFnOjRjOTEzOWEyMmUzMjQyNGZhOTU1NDRkNzVjZTliZWU2L3RhYmxlOmQxZGNkNTZlYjc2MTQxZWNiNGY5MDc1MzJjYzU2OWY2L3RhYmxlcmFuZ2U6ZDFkY2Q1NmViNzYxNDFlY2I0ZjkwNzUzMmNjNTY5ZjZfNC01LTEtMS01NjI3Mw_ade26247-9dd1-4c62-84dd-b61274da852d"
      unitRef="usd">621872000</us-gaap:BusinessAcquisitionsProFormaRevenue>
    <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss
      contextRef="ic5fbf21a10f54575831b9c4ec75a1bbc_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNy9mcmFnOjRjOTEzOWEyMmUzMjQyNGZhOTU1NDRkNzVjZTliZWU2L3RhYmxlOmQxZGNkNTZlYjc2MTQxZWNiNGY5MDc1MzJjYzU2OWY2L3RhYmxlcmFuZ2U6ZDFkY2Q1NmViNzYxNDFlY2I0ZjkwNzUzMmNjNTY5ZjZfNS00LTEtMS01NjI3Mw_ddc6637a-6ebc-4efe-843a-0cf58c808246"
      unitRef="usd">27884000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
    <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss
      contextRef="i5070dba93af7410dbfce12ee8ffa25e3_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNy9mcmFnOjRjOTEzOWEyMmUzMjQyNGZhOTU1NDRkNzVjZTliZWU2L3RhYmxlOmQxZGNkNTZlYjc2MTQxZWNiNGY5MDc1MzJjYzU2OWY2L3RhYmxlcmFuZ2U6ZDFkY2Q1NmViNzYxNDFlY2I0ZjkwNzUzMmNjNTY5ZjZfNS01LTEtMS01NjI3Mw_a34ec45b-6feb-4b00-a6fa-eeb9de6e42e9"
      unitRef="usd">40603000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
    <us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic
      contextRef="ic5fbf21a10f54575831b9c4ec75a1bbc_D20220201-20220430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNy9mcmFnOjRjOTEzOWEyMmUzMjQyNGZhOTU1NDRkNzVjZTliZWU2L3RhYmxlOmQxZGNkNTZlYjc2MTQxZWNiNGY5MDc1MzJjYzU2OWY2L3RhYmxlcmFuZ2U6ZDFkY2Q1NmViNzYxNDFlY2I0ZjkwNzUzMmNjNTY5ZjZfNi00LTEtMS01NjI3Mw_b26960f8-3f23-472e-bc83-8bd778b23778"
      unitRef="usdPerShare">0.84</us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic>
    <us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic
      contextRef="i5070dba93af7410dbfce12ee8ffa25e3_D20211101-20220430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNy9mcmFnOjRjOTEzOWEyMmUzMjQyNGZhOTU1NDRkNzVjZTliZWU2L3RhYmxlOmQxZGNkNTZlYjc2MTQxZWNiNGY5MDc1MzJjYzU2OWY2L3RhYmxlcmFuZ2U6ZDFkY2Q1NmViNzYxNDFlY2I0ZjkwNzUzMmNjNTY5ZjZfNi01LTEtMS01NjI3Mw_e9778e7e-5bf3-4344-95ae-68b1f032eaff"
      unitRef="usdPerShare">1.23</us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic>
    <us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted
      contextRef="ic5fbf21a10f54575831b9c4ec75a1bbc_D20220201-20220430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNy9mcmFnOjRjOTEzOWEyMmUzMjQyNGZhOTU1NDRkNzVjZTliZWU2L3RhYmxlOmQxZGNkNTZlYjc2MTQxZWNiNGY5MDc1MzJjYzU2OWY2L3RhYmxlcmFuZ2U6ZDFkY2Q1NmViNzYxNDFlY2I0ZjkwNzUzMmNjNTY5ZjZfNy00LTEtMS01NjI3Mw_1cf83d72-65f1-447c-ae8f-59850bae187b"
      unitRef="usdPerShare">0.84</us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted>
    <us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted
      contextRef="i5070dba93af7410dbfce12ee8ffa25e3_D20211101-20220430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNy9mcmFnOjRjOTEzOWEyMmUzMjQyNGZhOTU1NDRkNzVjZTliZWU2L3RhYmxlOmQxZGNkNTZlYjc2MTQxZWNiNGY5MDc1MzJjYzU2OWY2L3RhYmxlcmFuZ2U6ZDFkY2Q1NmViNzYxNDFlY2I0ZjkwNzUzMmNjNTY5ZjZfNy01LTEtMS01NjI3Mw_13975985-7006-4676-99c0-80fa72819ae9"
      unitRef="usdPerShare">1.22</us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="i3744beb947cf42c39693eb7f57150ae4_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF8zNy9mcmFnOjRjOTEzOWEyMmUzMjQyNGZhOTU1NDRkNzVjZTliZWU2L3RleHRyZWdpb246NGM5MTM5YTIyZTMyNDI0ZmE5NTU0NGQ3NWNlOWJlZTZfMzM3Nw_07ad427f-26a0-48c5-a59b-6800956addc0"
      unitRef="number">0.25</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:InventoryDisclosureTextBlock
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80MC9mcmFnOmE2ODUyZWEyYTM3NDQwNDFhOGQzZTVjOWI2YWI1OTYyL3RleHRyZWdpb246YTY4NTJlYTJhMzc0NDA0MWE4ZDNlNWM5YjZhYjU5NjJfMjU4_a8cf3c02-9a34-41bf-8deb-d0781afd1ca3">Inventories&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventories consisted of the following at April&#160;30, 2023 and October&#160;31, 2022 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:66.396%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.566%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.971%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.567%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30,&lt;br/&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Raw materials&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;63,681&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;68,455&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finished goods and work in process&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;51,401&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,013&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Supplies and other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,727&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,551&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;116,809&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;124,019&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Inventory reserves&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,794&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,129&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 30.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Inventories, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;114,015&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;120,890&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;Fixed costs related to excess manufacturing capacity, if any, have been expensed in the period they were incurred and, therefore, are not capitalized into inventory.</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80MC9mcmFnOmE2ODUyZWEyYTM3NDQwNDFhOGQzZTVjOWI2YWI1OTYyL3RleHRyZWdpb246YTY4NTJlYTJhMzc0NDA0MWE4ZDNlNWM5YjZhYjU5NjJfMjY0_e69f19f6-2e04-4557-9648-f231dfc8726a">&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventories consisted of the following at April&#160;30, 2023 and October&#160;31, 2022 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:66.396%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.566%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.971%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.567%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30,&lt;br/&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Raw materials&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;63,681&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;68,455&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finished goods and work in process&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;51,401&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,013&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Supplies and other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,727&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,551&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;116,809&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;124,019&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Inventory reserves&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,794&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,129&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 30.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Inventories, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;114,015&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;120,890&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterials
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80MC9mcmFnOmE2ODUyZWEyYTM3NDQwNDFhOGQzZTVjOWI2YWI1OTYyL3RhYmxlOjEyYjExMTY1NTNiNzQxNmM4OTA4Y2I0NTFjNDk1MWI4L3RhYmxlcmFuZ2U6MTJiMTExNjU1M2I3NDE2Yzg5MDhjYjQ1MWM0OTUxYjhfMS0xLTEtMS01NjI3Mw_35abea8e-5240-4f80-853e-82d0c5d364c0"
      unitRef="usd">63681000</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryRawMaterials
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80MC9mcmFnOmE2ODUyZWEyYTM3NDQwNDFhOGQzZTVjOWI2YWI1OTYyL3RhYmxlOjEyYjExMTY1NTNiNzQxNmM4OTA4Y2I0NTFjNDk1MWI4L3RhYmxlcmFuZ2U6MTJiMTExNjU1M2I3NDE2Yzg5MDhjYjQ1MWM0OTUxYjhfMS0zLTEtMS01NjI3Mw_4c6dece8-86c1-4a36-be6f-f824c91888c2"
      unitRef="usd">68455000</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryFinishedGoodsAndWorkInProcess
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80MC9mcmFnOmE2ODUyZWEyYTM3NDQwNDFhOGQzZTVjOWI2YWI1OTYyL3RhYmxlOjEyYjExMTY1NTNiNzQxNmM4OTA4Y2I0NTFjNDk1MWI4L3RhYmxlcmFuZ2U6MTJiMTExNjU1M2I3NDE2Yzg5MDhjYjQ1MWM0OTUxYjhfMi0xLTEtMS01NjI3Mw_028b016f-e98a-4f7a-8fea-0f6bf4039edb"
      unitRef="usd">51401000</us-gaap:InventoryFinishedGoodsAndWorkInProcess>
    <us-gaap:InventoryFinishedGoodsAndWorkInProcess
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80MC9mcmFnOmE2ODUyZWEyYTM3NDQwNDFhOGQzZTVjOWI2YWI1OTYyL3RhYmxlOjEyYjExMTY1NTNiNzQxNmM4OTA4Y2I0NTFjNDk1MWI4L3RhYmxlcmFuZ2U6MTJiMTExNjU1M2I3NDE2Yzg5MDhjYjQ1MWM0OTUxYjhfMi0zLTEtMS01NjI3Mw_eef431d3-cf0b-432f-995b-240f01badadc"
      unitRef="usd">54013000</us-gaap:InventoryFinishedGoodsAndWorkInProcess>
    <us-gaap:OtherInventorySupplies
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80MC9mcmFnOmE2ODUyZWEyYTM3NDQwNDFhOGQzZTVjOWI2YWI1OTYyL3RhYmxlOjEyYjExMTY1NTNiNzQxNmM4OTA4Y2I0NTFjNDk1MWI4L3RhYmxlcmFuZ2U6MTJiMTExNjU1M2I3NDE2Yzg5MDhjYjQ1MWM0OTUxYjhfMy0xLTEtMS01NjI3Mw_d36f9f90-ba7a-4eb3-885c-5d93db3d7388"
      unitRef="usd">1727000</us-gaap:OtherInventorySupplies>
    <us-gaap:OtherInventorySupplies
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80MC9mcmFnOmE2ODUyZWEyYTM3NDQwNDFhOGQzZTVjOWI2YWI1OTYyL3RhYmxlOjEyYjExMTY1NTNiNzQxNmM4OTA4Y2I0NTFjNDk1MWI4L3RhYmxlcmFuZ2U6MTJiMTExNjU1M2I3NDE2Yzg5MDhjYjQ1MWM0OTUxYjhfMy0zLTEtMS01NjI3Mw_f85ab671-9b3d-4a81-8c7d-3ea0c9b6c98b"
      unitRef="usd">1551000</us-gaap:OtherInventorySupplies>
    <us-gaap:InventoryGross
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80MC9mcmFnOmE2ODUyZWEyYTM3NDQwNDFhOGQzZTVjOWI2YWI1OTYyL3RhYmxlOjEyYjExMTY1NTNiNzQxNmM4OTA4Y2I0NTFjNDk1MWI4L3RhYmxlcmFuZ2U6MTJiMTExNjU1M2I3NDE2Yzg5MDhjYjQ1MWM0OTUxYjhfNC0xLTEtMS01NjI3Mw_ac4ac0e2-c6b0-4de1-b5a4-3a32d1414406"
      unitRef="usd">116809000</us-gaap:InventoryGross>
    <us-gaap:InventoryGross
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80MC9mcmFnOmE2ODUyZWEyYTM3NDQwNDFhOGQzZTVjOWI2YWI1OTYyL3RhYmxlOjEyYjExMTY1NTNiNzQxNmM4OTA4Y2I0NTFjNDk1MWI4L3RhYmxlcmFuZ2U6MTJiMTExNjU1M2I3NDE2Yzg5MDhjYjQ1MWM0OTUxYjhfNC0zLTEtMS01NjI3Mw_46e72bb4-076b-4672-af4c-0f30c1781dec"
      unitRef="usd">124019000</us-gaap:InventoryGross>
    <us-gaap:InventoryValuationReserves
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80MC9mcmFnOmE2ODUyZWEyYTM3NDQwNDFhOGQzZTVjOWI2YWI1OTYyL3RhYmxlOjEyYjExMTY1NTNiNzQxNmM4OTA4Y2I0NTFjNDk1MWI4L3RhYmxlcmFuZ2U6MTJiMTExNjU1M2I3NDE2Yzg5MDhjYjQ1MWM0OTUxYjhfNS0xLTEtMS01NjI3Mw_0d7e8ded-bd51-4377-9c25-fd2d94339170"
      unitRef="usd">2794000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryValuationReserves
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80MC9mcmFnOmE2ODUyZWEyYTM3NDQwNDFhOGQzZTVjOWI2YWI1OTYyL3RhYmxlOjEyYjExMTY1NTNiNzQxNmM4OTA4Y2I0NTFjNDk1MWI4L3RhYmxlcmFuZ2U6MTJiMTExNjU1M2I3NDE2Yzg5MDhjYjQ1MWM0OTUxYjhfNS0zLTEtMS01NjI3Mw_2b2ea561-e153-4b66-bd17-fa16445ae9c7"
      unitRef="usd">3129000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryNet
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80MC9mcmFnOmE2ODUyZWEyYTM3NDQwNDFhOGQzZTVjOWI2YWI1OTYyL3RhYmxlOjEyYjExMTY1NTNiNzQxNmM4OTA4Y2I0NTFjNDk1MWI4L3RhYmxlcmFuZ2U6MTJiMTExNjU1M2I3NDE2Yzg5MDhjYjQ1MWM0OTUxYjhfNi0xLTEtMS01NjI3Mw_7cd66c2d-fa6b-4f12-9eac-27861229776a"
      unitRef="usd">114015000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80MC9mcmFnOmE2ODUyZWEyYTM3NDQwNDFhOGQzZTVjOWI2YWI1OTYyL3RhYmxlOjEyYjExMTY1NTNiNzQxNmM4OTA4Y2I0NTFjNDk1MWI4L3RhYmxlcmFuZ2U6MTJiMTExNjU1M2I3NDE2Yzg5MDhjYjQ1MWM0OTUxYjhfNi0zLTEtMS01NjI3Mw_0556a90e-7cc1-438f-94dc-cd0c120df280"
      unitRef="usd">120890000</us-gaap:InventoryNet>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RleHRyZWdpb246YTMxYmI2ZjY3OTVkNDBjZTk1Zjc4MWQzN2Q3NTJiNTdfMzc0Nw_31d9c888-b579-40ec-89a3-e80423ad2d2c">Leases&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We recognize a right-of-use (ROU) asset and lease liability for each operating and finance lease with a contractual term greater than 12 months at the time of lease inception. We include ROU assets and lease liabilities for leases that exist within other contracts.  Leases with an original term of 12 months or less are not recognized on the balance sheet, and the rent expense related to those short-term leases is recognized over the lease term. We do not account for lease and non-lease (e.g., common area maintenance) components of contracts separately for any underlying asset class.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We lease certain manufacturing plants, warehouses, office space, vehicles and equipment under finance and operating leases. Lease commencement occurs on the date we take possession or control of the property or equipment. Original terms for our real estate-related leases are generally between &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RleHRyZWdpb246YTMxYmI2ZjY3OTVkNDBjZTk1Zjc4MWQzN2Q3NTJiNTdfODk4_d37a9411-f7dc-4842-a11b-216d66c3731a"&gt;five&lt;/span&gt; and twenty years. Original terms for equipment-related leases, primarily manufacturing equipment and vehicles, are generally between &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RleHRyZWdpb246YTMxYmI2ZjY3OTVkNDBjZTk1Zjc4MWQzN2Q3NTJiNTdfMTAyNA_f47ccc1f-dc36-496a-8b57-c7e43c910108"&gt;one&lt;/span&gt; and ten years. Some of our leases also include rental escalation clauses. Renewal options are included in the determination of lease payments when management determines the options are reasonably certain of exercise, considering financial performance, strategic importance and/or invested capital.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;If readily determinable, the rate implicit in the lease is used to discount lease payments to present value; however, substantially all of our leases do not provide a readily determinable implicit rate. When the implicit rate is not determinable, our estimated incremental borrowing rate is utilized, determined on a collateralized basis, to discount lease payments based on information available at lease commencement.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total lease costs recorded include fixed operating lease costs and variable lease costs. Most of our real estate leases require we pay certain expenses, such as common area maintenance costs, of which the fixed portion is included in operating lease costs. We recognize operating lease costs on a straight-line basis over the lease term. In addition to the above costs, variable lease costs are recognized when probable and are not included in determining the present value of our lease liability. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The ROU asset is measured at the initial amount of the lease liability adjusted for lease payments made at or before the lease commencement date and initial direct costs. For operating leases, ROU assets are reduced over the lease term by the recognized straight-line lease expense less the amount of accretion of the lease liability determined using the effective interest method. For finance leases, ROU assets are amortized on a straight-line basis over the shorter of the useful life of the leased asset or the lease term. Interest expense on each finance lease liability is recognized utilizing the effective interest method. ROU assets are tested for impairment in the same manner as long-lived assets. Additionally, we monitor for events or changes in circumstances that may require a reassessment of one of our leases and determine if a remeasurement is required.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The table below presents the lease-related assets and liabilities recorded on the balance sheet at April&#160;30, 2023 and October&#160;31, 2022 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.752%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:43.900%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.370%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.373%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Classification&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30,&lt;br/&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease right-of-use assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;45,725&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance lease assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property, plant and equipment (less accumulated depreciation of &lt;/span&gt;&lt;span style="background-color:#cceeff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$5,236&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt; and $3,726)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,013&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,003&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total lease assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;103,738&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;78,003&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Current&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Current operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,403&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,727&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Current maturities of long-term debt&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,409&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,336&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Noncurrent&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Noncurrent operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,215&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49,286&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-term debt&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53,187&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,816&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;102,214&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;76,165&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:103%"&gt;The table below presents the components of lease costs for the three and six months ended April&#160;30, 2023 and 2022 was as follows (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.613%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.501%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-indent:6.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Operating lease cost&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,239&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,537&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,408&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,074&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-indent:6.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Finance lease cost&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Amortization of leased assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;815&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;294&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,614&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;592&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Interest on lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;602&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;128&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,202&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;261&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-indent:6.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Variable lease costs&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;467&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;257&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;790&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;480&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:83%"&gt;Total lease cost&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,123&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,216&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,014&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,407&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The table below presents supplemental cash flow information related to leases for the six months ended April&#160;30, 2023 and 2022 was as follows (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:9pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:65.420%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.274%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.276%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Cash paid for amounts included in the measurement of lease liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Finance leases - financing cash flows&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,145&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;553&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Finance leases - operating cash flows&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,202&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;261&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Operating leases - operating cash flows&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,513&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,082&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Right-of-use assets obtained in exchange for lease liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,169&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;933&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Finance leases&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,206&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;167&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The table below presents the weighted-average remaining lease terms and weighted-average discount rates for the Company's leases as of April&#160;30, 2023 and October&#160;31, 2022:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:64.639%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.298%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.299%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Weighted-average remaining lease term (in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11.0&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.8&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Financing leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19.3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13.7&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Weighted-average discount rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.92&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.84&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Financing leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.48&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.78&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The table below presents the maturity of the lease liabilities as of April&#160;30, 2023 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:64.589%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.322%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.323%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Operating Leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Finance Leases&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023 (remaining six months)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,626&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,403&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,452&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,793&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,649&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,731&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,294&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,614&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,527&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,493&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,472&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62,787&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;59,020&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;83,821&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: present value discount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,402&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,225&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,618&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;55,596&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:LesseeFinanceLeasesTextBlock
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RleHRyZWdpb246YTMxYmI2ZjY3OTVkNDBjZTk1Zjc4MWQzN2Q3NTJiNTdfMzc0Nw_79a26b57-54d7-4b79-818f-cdd9a242b1e8">Leases&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We recognize a right-of-use (ROU) asset and lease liability for each operating and finance lease with a contractual term greater than 12 months at the time of lease inception. We include ROU assets and lease liabilities for leases that exist within other contracts.  Leases with an original term of 12 months or less are not recognized on the balance sheet, and the rent expense related to those short-term leases is recognized over the lease term. We do not account for lease and non-lease (e.g., common area maintenance) components of contracts separately for any underlying asset class.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We lease certain manufacturing plants, warehouses, office space, vehicles and equipment under finance and operating leases. Lease commencement occurs on the date we take possession or control of the property or equipment. Original terms for our real estate-related leases are generally between &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RleHRyZWdpb246YTMxYmI2ZjY3OTVkNDBjZTk1Zjc4MWQzN2Q3NTJiNTdfODk4_d37a9411-f7dc-4842-a11b-216d66c3731a"&gt;five&lt;/span&gt; and twenty years. Original terms for equipment-related leases, primarily manufacturing equipment and vehicles, are generally between &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RleHRyZWdpb246YTMxYmI2ZjY3OTVkNDBjZTk1Zjc4MWQzN2Q3NTJiNTdfMTAyNA_f47ccc1f-dc36-496a-8b57-c7e43c910108"&gt;one&lt;/span&gt; and ten years. Some of our leases also include rental escalation clauses. Renewal options are included in the determination of lease payments when management determines the options are reasonably certain of exercise, considering financial performance, strategic importance and/or invested capital.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;If readily determinable, the rate implicit in the lease is used to discount lease payments to present value; however, substantially all of our leases do not provide a readily determinable implicit rate. When the implicit rate is not determinable, our estimated incremental borrowing rate is utilized, determined on a collateralized basis, to discount lease payments based on information available at lease commencement.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total lease costs recorded include fixed operating lease costs and variable lease costs. Most of our real estate leases require we pay certain expenses, such as common area maintenance costs, of which the fixed portion is included in operating lease costs. We recognize operating lease costs on a straight-line basis over the lease term. In addition to the above costs, variable lease costs are recognized when probable and are not included in determining the present value of our lease liability. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The ROU asset is measured at the initial amount of the lease liability adjusted for lease payments made at or before the lease commencement date and initial direct costs. For operating leases, ROU assets are reduced over the lease term by the recognized straight-line lease expense less the amount of accretion of the lease liability determined using the effective interest method. For finance leases, ROU assets are amortized on a straight-line basis over the shorter of the useful life of the leased asset or the lease term. Interest expense on each finance lease liability is recognized utilizing the effective interest method. ROU assets are tested for impairment in the same manner as long-lived assets. Additionally, we monitor for events or changes in circumstances that may require a reassessment of one of our leases and determine if a remeasurement is required.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The table below presents the lease-related assets and liabilities recorded on the balance sheet at April&#160;30, 2023 and October&#160;31, 2022 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.752%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:43.900%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.370%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.373%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Classification&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30,&lt;br/&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease right-of-use assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;45,725&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance lease assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property, plant and equipment (less accumulated depreciation of &lt;/span&gt;&lt;span style="background-color:#cceeff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$5,236&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt; and $3,726)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,013&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,003&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total lease assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;103,738&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;78,003&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Current&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Current operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,403&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,727&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Current maturities of long-term debt&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,409&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,336&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Noncurrent&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Noncurrent operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,215&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49,286&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-term debt&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53,187&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,816&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;102,214&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;76,165&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:103%"&gt;The table below presents the components of lease costs for the three and six months ended April&#160;30, 2023 and 2022 was as follows (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.613%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.501%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-indent:6.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Operating lease cost&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,239&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,537&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,408&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,074&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-indent:6.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Finance lease cost&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Amortization of leased assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;815&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;294&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,614&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;592&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Interest on lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;602&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;128&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,202&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;261&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-indent:6.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Variable lease costs&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;467&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;257&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;790&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;480&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:83%"&gt;Total lease cost&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,123&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,216&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,014&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,407&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The table below presents supplemental cash flow information related to leases for the six months ended April&#160;30, 2023 and 2022 was as follows (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:9pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:65.420%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.274%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.276%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Cash paid for amounts included in the measurement of lease liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Finance leases - financing cash flows&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,145&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;553&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Finance leases - operating cash flows&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,202&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;261&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Operating leases - operating cash flows&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,513&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,082&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Right-of-use assets obtained in exchange for lease liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,169&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;933&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Finance leases&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,206&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;167&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The table below presents the weighted-average remaining lease terms and weighted-average discount rates for the Company's leases as of April&#160;30, 2023 and October&#160;31, 2022:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:64.639%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.298%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.299%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Weighted-average remaining lease term (in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11.0&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.8&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Financing leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19.3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13.7&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Weighted-average discount rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.92&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.84&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Financing leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.48&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.78&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The table below presents the maturity of the lease liabilities as of April&#160;30, 2023 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:64.589%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.322%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.323%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Operating Leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Finance Leases&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023 (remaining six months)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,626&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,403&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,452&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,793&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,649&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,731&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,294&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,614&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,527&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,493&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,472&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62,787&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;59,020&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;83,821&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: present value discount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,402&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,225&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,618&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;55,596&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeFinanceLeasesTextBlock>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="i0a7f196600d64d54a2cab469c8430e57_I20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RleHRyZWdpb246YTMxYmI2ZjY3OTVkNDBjZTk1Zjc4MWQzN2Q3NTJiNTdfOTA1_1ae8c915-32f5-4625-bd09-b3baf3568e2d">P20Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="i71524e541e234d1c840d4a4afe41c5a5_I20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RleHRyZWdpb246YTMxYmI2ZjY3OTVkNDBjZTk1Zjc4MWQzN2Q3NTJiNTdfMTAzMQ_52abd951-389e-4abe-829a-83d50001c579">P10Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <nx:AssetsAndLiabilitiesLesseeTableTextBlock
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RleHRyZWdpb246YTMxYmI2ZjY3OTVkNDBjZTk1Zjc4MWQzN2Q3NTJiNTdfMzc1Nw_42d2d0af-54a6-407a-b036-2700f164697e">&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The table below presents the lease-related assets and liabilities recorded on the balance sheet at April&#160;30, 2023 and October&#160;31, 2022 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.752%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:43.900%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.370%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.373%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Classification&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30,&lt;br/&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease right-of-use assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;45,725&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance lease assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property, plant and equipment (less accumulated depreciation of &lt;/span&gt;&lt;span style="background-color:#cceeff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$5,236&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt; and $3,726)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,013&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,003&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total lease assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;103,738&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;78,003&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Current&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Current operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,403&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,727&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Current maturities of long-term debt&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,409&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,336&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Noncurrent&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Noncurrent operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,215&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49,286&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-term debt&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53,187&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,816&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;102,214&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;76,165&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</nx:AssetsAndLiabilitiesLesseeTableTextBlock>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOmRmMDE5YTlhNzY0MDRjMjA5YmUwMTk1M2RlYTAxOThmL3RhYmxlcmFuZ2U6ZGYwMTlhOWE3NjQwNGMyMDliZTAxOTUzZGVhMDE5OGZfMi00LTEtMS01NjI3Mw_5b57d74b-cc32-464e-83b7-ca4572b09e48"
      unitRef="usd">45725000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOmRmMDE5YTlhNzY0MDRjMjA5YmUwMTk1M2RlYTAxOThmL3RhYmxlcmFuZ2U6ZGYwMTlhOWE3NjQwNGMyMDliZTAxOTUzZGVhMDE5OGZfMi02LTEtMS01NjI3Mw_333443a4-2ef5-43ec-9ecd-1d2a18d13ed4"
      unitRef="usd">56000000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:FinanceLeaseRightOfUseAssetAccumulatedAmortization
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOmRmMDE5YTlhNzY0MDRjMjA5YmUwMTk1M2RlYTAxOThmL3RhYmxlcmFuZ2U6ZGYwMTlhOWE3NjQwNGMyMDliZTAxOTUzZGVhMDE5OGZfMy0yLTEtMS01NjI3My90ZXh0cmVnaW9uOjQyZTc5MzhjODQ0OTRhYzg5MzM3NWI0NjgzNjcyNzI2XzY4_10ce0d5b-1e36-465f-8587-99876a3f9a12"
      unitRef="usd">5236000</us-gaap:FinanceLeaseRightOfUseAssetAccumulatedAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAccumulatedAmortization
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOmRmMDE5YTlhNzY0MDRjMjA5YmUwMTk1M2RlYTAxOThmL3RhYmxlcmFuZ2U6ZGYwMTlhOWE3NjQwNGMyMDliZTAxOTUzZGVhMDE5OGZfMy0yLTEtMS01NjI3My90ZXh0cmVnaW9uOjQyZTc5MzhjODQ0OTRhYzg5MzM3NWI0NjgzNjcyNzI2Xzc1_59cab9fc-a18b-472f-903c-30faf926b0f1"
      unitRef="usd">3726000</us-gaap:FinanceLeaseRightOfUseAssetAccumulatedAmortization>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOmRmMDE5YTlhNzY0MDRjMjA5YmUwMTk1M2RlYTAxOThmL3RhYmxlcmFuZ2U6ZGYwMTlhOWE3NjQwNGMyMDliZTAxOTUzZGVhMDE5OGZfMy00LTEtMS01NjI3Mw_00a62687-182b-4175-9197-c6a0fcc38d1a"
      unitRef="usd">58013000</us-gaap:FinanceLeaseRightOfUseAsset>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOmRmMDE5YTlhNzY0MDRjMjA5YmUwMTk1M2RlYTAxOThmL3RhYmxlcmFuZ2U6ZGYwMTlhOWE3NjQwNGMyMDliZTAxOTUzZGVhMDE5OGZfMy02LTEtMS01NjI3Mw_7ec5f405-0e69-473e-b167-be774fa62e8f"
      unitRef="usd">22003000</us-gaap:FinanceLeaseRightOfUseAsset>
    <nx:LeasesRightofUseAsset
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOmRmMDE5YTlhNzY0MDRjMjA5YmUwMTk1M2RlYTAxOThmL3RhYmxlcmFuZ2U6ZGYwMTlhOWE3NjQwNGMyMDliZTAxOTUzZGVhMDE5OGZfNC00LTEtMS01NjI3Mw_9272183e-de43-46b5-bb2b-f370bdbd6c31"
      unitRef="usd">103738000</nx:LeasesRightofUseAsset>
    <nx:LeasesRightofUseAsset
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOmRmMDE5YTlhNzY0MDRjMjA5YmUwMTk1M2RlYTAxOThmL3RhYmxlcmFuZ2U6ZGYwMTlhOWE3NjQwNGMyMDliZTAxOTUzZGVhMDE5OGZfNC02LTEtMS01NjI3Mw_b61322e4-2987-4925-bdb1-0687614c17d2"
      unitRef="usd">78003000</nx:LeasesRightofUseAsset>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOmRmMDE5YTlhNzY0MDRjMjA5YmUwMTk1M2RlYTAxOThmL3RhYmxlcmFuZ2U6ZGYwMTlhOWE3NjQwNGMyMDliZTAxOTUzZGVhMDE5OGZfOC00LTEtMS01NjI3Mw_6117b7a7-6d3f-4760-a177-1d86628e20d5"
      unitRef="usd">7403000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOmRmMDE5YTlhNzY0MDRjMjA5YmUwMTk1M2RlYTAxOThmL3RhYmxlcmFuZ2U6ZGYwMTlhOWE3NjQwNGMyMDliZTAxOTUzZGVhMDE5OGZfOC02LTEtMS01NjI3Mw_9775b062-08e8-49e7-9b4c-41c4797dccdd"
      unitRef="usd">7727000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOmRmMDE5YTlhNzY0MDRjMjA5YmUwMTk1M2RlYTAxOThmL3RhYmxlcmFuZ2U6ZGYwMTlhOWE3NjQwNGMyMDliZTAxOTUzZGVhMDE5OGZfOS00LTEtMS01NjI3Mw_6ee56ab3-50fb-4e4d-a8df-49abd0059131"
      unitRef="usd">2409000</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOmRmMDE5YTlhNzY0MDRjMjA5YmUwMTk1M2RlYTAxOThmL3RhYmxlcmFuZ2U6ZGYwMTlhOWE3NjQwNGMyMDliZTAxOTUzZGVhMDE5OGZfOS02LTEtMS01NjI3Mw_38273a5e-26f7-484d-9f04-05965e804e7b"
      unitRef="usd">1336000</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOmRmMDE5YTlhNzY0MDRjMjA5YmUwMTk1M2RlYTAxOThmL3RhYmxlcmFuZ2U6ZGYwMTlhOWE3NjQwNGMyMDliZTAxOTUzZGVhMDE5OGZfMTEtNC0xLTEtNTYyNzM_ca9ce7a4-88d5-428d-8f64-2a1117dcfa2f"
      unitRef="usd">39215000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOmRmMDE5YTlhNzY0MDRjMjA5YmUwMTk1M2RlYTAxOThmL3RhYmxlcmFuZ2U6ZGYwMTlhOWE3NjQwNGMyMDliZTAxOTUzZGVhMDE5OGZfMTEtNi0xLTEtNTYyNzM_84d40401-8095-485a-9e22-f8dcfbd691bf"
      unitRef="usd">49286000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOmRmMDE5YTlhNzY0MDRjMjA5YmUwMTk1M2RlYTAxOThmL3RhYmxlcmFuZ2U6ZGYwMTlhOWE3NjQwNGMyMDliZTAxOTUzZGVhMDE5OGZfMTItNC0xLTEtNTYyNzM_7630ff5b-d7c4-43ee-8b66-0f5cf79dfafd"
      unitRef="usd">53187000</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOmRmMDE5YTlhNzY0MDRjMjA5YmUwMTk1M2RlYTAxOThmL3RhYmxlcmFuZ2U6ZGYwMTlhOWE3NjQwNGMyMDliZTAxOTUzZGVhMDE5OGZfMTItNi0xLTEtNTYyNzM_f36c3638-7d58-49b8-b3be-ec831ad4d546"
      unitRef="usd">17816000</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <nx:LeasesLiability
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOmRmMDE5YTlhNzY0MDRjMjA5YmUwMTk1M2RlYTAxOThmL3RhYmxlcmFuZ2U6ZGYwMTlhOWE3NjQwNGMyMDliZTAxOTUzZGVhMDE5OGZfMTMtNC0xLTEtNTYyNzM_9ccc1166-0f57-4a0b-abdd-be8533356886"
      unitRef="usd">102214000</nx:LeasesLiability>
    <nx:LeasesLiability
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOmRmMDE5YTlhNzY0MDRjMjA5YmUwMTk1M2RlYTAxOThmL3RhYmxlcmFuZ2U6ZGYwMTlhOWE3NjQwNGMyMDliZTAxOTUzZGVhMDE5OGZfMTMtNi0xLTEtNTYyNzM_7034e567-0553-46d9-9eb6-3cffb9fa901e"
      unitRef="usd">76165000</nx:LeasesLiability>
    <us-gaap:LeaseCostTableTextBlock
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RleHRyZWdpb246YTMxYmI2ZjY3OTVkNDBjZTk1Zjc4MWQzN2Q3NTJiNTdfMzc0NA_5789c859-2c58-4fcb-b5e8-8e2af71f5539">&lt;div style="margin-bottom:6pt;margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:103%"&gt;The table below presents the components of lease costs for the three and six months ended April&#160;30, 2023 and 2022 was as follows (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.613%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.501%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-indent:6.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Operating lease cost&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,239&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,537&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,408&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,074&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-indent:6.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Finance lease cost&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Amortization of leased assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;815&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;294&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,614&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;592&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Interest on lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;602&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;128&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,202&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;261&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-indent:6.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Variable lease costs&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;467&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;257&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;790&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;480&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:83%"&gt;Total lease cost&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,123&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,216&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,014&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,407&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The table below presents supplemental cash flow information related to leases for the six months ended April&#160;30, 2023 and 2022 was as follows (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:9pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:65.420%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.274%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.276%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Cash paid for amounts included in the measurement of lease liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Finance leases - financing cash flows&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,145&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;553&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Finance leases - operating cash flows&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,202&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;261&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Operating leases - operating cash flows&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,513&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,082&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Right-of-use assets obtained in exchange for lease liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,169&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;933&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:83%"&gt;Finance leases&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,206&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;167&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LeaseCostTableTextBlock>
    <us-gaap:OperatingLeaseCost
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOjcwODlhZjBjYmZjODQzMzQ4NDE4MGIwMjBiYWMxMTU4L3RhYmxlcmFuZ2U6NzA4OWFmMGNiZmM4NDMzNDg0MTgwYjAyMGJhYzExNThfMy0xLTEtMS01NzY0OA_b9fbf42b-dada-40e7-9c18-c0678e324fb5"
      unitRef="usd">2239000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOjcwODlhZjBjYmZjODQzMzQ4NDE4MGIwMjBiYWMxMTU4L3RhYmxlcmFuZ2U6NzA4OWFmMGNiZmM4NDMzNDg0MTgwYjAyMGJhYzExNThfMy0zLTEtMS01NzY0OA_7d21273a-b82c-4181-8837-2ef2762724b4"
      unitRef="usd">2537000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOjcwODlhZjBjYmZjODQzMzQ4NDE4MGIwMjBiYWMxMTU4L3RhYmxlcmFuZ2U6NzA4OWFmMGNiZmM4NDMzNDg0MTgwYjAyMGJhYzExNThfMy01LTEtMS01NzY0OA_e754031d-9ef2-4edd-ba05-6acd5b50ff28"
      unitRef="usd">4408000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOjcwODlhZjBjYmZjODQzMzQ4NDE4MGIwMjBiYWMxMTU4L3RhYmxlcmFuZ2U6NzA4OWFmMGNiZmM4NDMzNDg0MTgwYjAyMGJhYzExNThfMy03LTEtMS01NzY0OA_69c9a387-c092-4e6d-ba62-298495cc5336"
      unitRef="usd">5074000</us-gaap:OperatingLeaseCost>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOjcwODlhZjBjYmZjODQzMzQ4NDE4MGIwMjBiYWMxMTU4L3RhYmxlcmFuZ2U6NzA4OWFmMGNiZmM4NDMzNDg0MTgwYjAyMGJhYzExNThfNS0xLTEtMS01NzY0OA_ce82e0b3-cc51-418e-a536-1c494d230e2a"
      unitRef="usd">815000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOjcwODlhZjBjYmZjODQzMzQ4NDE4MGIwMjBiYWMxMTU4L3RhYmxlcmFuZ2U6NzA4OWFmMGNiZmM4NDMzNDg0MTgwYjAyMGJhYzExNThfNS0zLTEtMS01NzY0OA_fce93dbc-4101-497d-83a8-a5128a8f3117"
      unitRef="usd">294000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOjcwODlhZjBjYmZjODQzMzQ4NDE4MGIwMjBiYWMxMTU4L3RhYmxlcmFuZ2U6NzA4OWFmMGNiZmM4NDMzNDg0MTgwYjAyMGJhYzExNThfNS01LTEtMS01NzY0OA_0e4f5221-ed19-4b01-a17e-b2be7dfcafba"
      unitRef="usd">1614000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOjcwODlhZjBjYmZjODQzMzQ4NDE4MGIwMjBiYWMxMTU4L3RhYmxlcmFuZ2U6NzA4OWFmMGNiZmM4NDMzNDg0MTgwYjAyMGJhYzExNThfNS03LTEtMS01NzY0OA_f5d47914-0955-4e89-9c7f-0b839d1b88e0"
      unitRef="usd">592000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOjcwODlhZjBjYmZjODQzMzQ4NDE4MGIwMjBiYWMxMTU4L3RhYmxlcmFuZ2U6NzA4OWFmMGNiZmM4NDMzNDg0MTgwYjAyMGJhYzExNThfNi0xLTEtMS01NzY0OA_66966b7b-3043-4381-b04d-295ce116bbda"
      unitRef="usd">602000</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOjcwODlhZjBjYmZjODQzMzQ4NDE4MGIwMjBiYWMxMTU4L3RhYmxlcmFuZ2U6NzA4OWFmMGNiZmM4NDMzNDg0MTgwYjAyMGJhYzExNThfNi0zLTEtMS01NzY0OA_7967fe55-2f72-4a19-94e8-7c4f17a20284"
      unitRef="usd">128000</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOjcwODlhZjBjYmZjODQzMzQ4NDE4MGIwMjBiYWMxMTU4L3RhYmxlcmFuZ2U6NzA4OWFmMGNiZmM4NDMzNDg0MTgwYjAyMGJhYzExNThfNi01LTEtMS01NzY0OA_d8c8b1e0-6e2c-400c-94de-1b4f0bc5282c"
      unitRef="usd">1202000</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOjcwODlhZjBjYmZjODQzMzQ4NDE4MGIwMjBiYWMxMTU4L3RhYmxlcmFuZ2U6NzA4OWFmMGNiZmM4NDMzNDg0MTgwYjAyMGJhYzExNThfNi03LTEtMS01NzY0OA_f8763038-1c1b-4552-b1c5-733deb3d833b"
      unitRef="usd">261000</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:VariableLeaseCost
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOjcwODlhZjBjYmZjODQzMzQ4NDE4MGIwMjBiYWMxMTU4L3RhYmxlcmFuZ2U6NzA4OWFmMGNiZmM4NDMzNDg0MTgwYjAyMGJhYzExNThfNy0xLTEtMS01NzY0OA_ca49ad8c-0704-4361-9835-9188b9167aa2"
      unitRef="usd">467000</us-gaap:VariableLeaseCost>
    <us-gaap:VariableLeaseCost
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOjcwODlhZjBjYmZjODQzMzQ4NDE4MGIwMjBiYWMxMTU4L3RhYmxlcmFuZ2U6NzA4OWFmMGNiZmM4NDMzNDg0MTgwYjAyMGJhYzExNThfNy0zLTEtMS01NzY0OA_a06a6348-9e60-4c88-a06c-a150af9d20c0"
      unitRef="usd">257000</us-gaap:VariableLeaseCost>
    <us-gaap:VariableLeaseCost
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOjcwODlhZjBjYmZjODQzMzQ4NDE4MGIwMjBiYWMxMTU4L3RhYmxlcmFuZ2U6NzA4OWFmMGNiZmM4NDMzNDg0MTgwYjAyMGJhYzExNThfNy01LTEtMS01NzY0OA_265efb1b-86bd-4cc4-9396-1185e55462b5"
      unitRef="usd">790000</us-gaap:VariableLeaseCost>
    <us-gaap:VariableLeaseCost
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOjcwODlhZjBjYmZjODQzMzQ4NDE4MGIwMjBiYWMxMTU4L3RhYmxlcmFuZ2U6NzA4OWFmMGNiZmM4NDMzNDg0MTgwYjAyMGJhYzExNThfNy03LTEtMS01NzY0OA_352771df-0768-4336-ade9-653ace012ae3"
      unitRef="usd">480000</us-gaap:VariableLeaseCost>
    <us-gaap:LeaseCost
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOjcwODlhZjBjYmZjODQzMzQ4NDE4MGIwMjBiYWMxMTU4L3RhYmxlcmFuZ2U6NzA4OWFmMGNiZmM4NDMzNDg0MTgwYjAyMGJhYzExNThfOC0xLTEtMS01NzY0OA_f5b4389d-619b-4917-88fe-1829ea9d4fe2"
      unitRef="usd">4123000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOjcwODlhZjBjYmZjODQzMzQ4NDE4MGIwMjBiYWMxMTU4L3RhYmxlcmFuZ2U6NzA4OWFmMGNiZmM4NDMzNDg0MTgwYjAyMGJhYzExNThfOC0zLTEtMS01NzY0OA_63f8f300-5e2b-4559-a172-275dd8248054"
      unitRef="usd">3216000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOjcwODlhZjBjYmZjODQzMzQ4NDE4MGIwMjBiYWMxMTU4L3RhYmxlcmFuZ2U6NzA4OWFmMGNiZmM4NDMzNDg0MTgwYjAyMGJhYzExNThfOC01LTEtMS01NzY0OA_57e2c4ab-1835-4bb1-bdb6-739212fb8671"
      unitRef="usd">8014000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOjcwODlhZjBjYmZjODQzMzQ4NDE4MGIwMjBiYWMxMTU4L3RhYmxlcmFuZ2U6NzA4OWFmMGNiZmM4NDMzNDg0MTgwYjAyMGJhYzExNThfOC03LTEtMS01NzY0OA_b9ce7556-c6c0-4f2d-8f05-09a5b9f906f6"
      unitRef="usd">6407000</us-gaap:LeaseCost>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOmQzOWNkZjU0MTVlYjQxZmRiMmQ0MGIzMzA1M2Q4Y2RiL3RhYmxlcmFuZ2U6ZDM5Y2RmNTQxNWViNDFmZGIyZDQwYjMzMDUzZDhjZGJfNC0xLTEtMS01NjI3Mw_f478e4c9-3095-4f3f-b8e4-a0821bdc908e"
      unitRef="usd">1145000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOmQzOWNkZjU0MTVlYjQxZmRiMmQ0MGIzMzA1M2Q4Y2RiL3RhYmxlcmFuZ2U6ZDM5Y2RmNTQxNWViNDFmZGIyZDQwYjMzMDUzZDhjZGJfNC0zLTEtMS01NjI3Mw_aac4bbeb-1caf-4b94-b913-eaa32335c45b"
      unitRef="usd">553000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeaseInterestPaymentOnLiability
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOmQzOWNkZjU0MTVlYjQxZmRiMmQ0MGIzMzA1M2Q4Y2RiL3RhYmxlcmFuZ2U6ZDM5Y2RmNTQxNWViNDFmZGIyZDQwYjMzMDUzZDhjZGJfNS0xLTEtMS01NjI3Mw_068823b4-8998-4a1f-a286-e349c7bd0922"
      unitRef="usd">1202000</us-gaap:FinanceLeaseInterestPaymentOnLiability>
    <us-gaap:FinanceLeaseInterestPaymentOnLiability
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOmQzOWNkZjU0MTVlYjQxZmRiMmQ0MGIzMzA1M2Q4Y2RiL3RhYmxlcmFuZ2U6ZDM5Y2RmNTQxNWViNDFmZGIyZDQwYjMzMDUzZDhjZGJfNS0zLTEtMS01NjI3Mw_cc837ceb-1785-45eb-a1e9-79cfc8d4beef"
      unitRef="usd">261000</us-gaap:FinanceLeaseInterestPaymentOnLiability>
    <us-gaap:OperatingLeasePayments
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOmQzOWNkZjU0MTVlYjQxZmRiMmQ0MGIzMzA1M2Q4Y2RiL3RhYmxlcmFuZ2U6ZDM5Y2RmNTQxNWViNDFmZGIyZDQwYjMzMDUzZDhjZGJfNi0xLTEtMS01NjI3Mw_5357e23b-2efe-4548-aeb3-06afc93de157"
      unitRef="usd">4513000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOmQzOWNkZjU0MTVlYjQxZmRiMmQ0MGIzMzA1M2Q4Y2RiL3RhYmxlcmFuZ2U6ZDM5Y2RmNTQxNWViNDFmZGIyZDQwYjMzMDUzZDhjZGJfNi0zLTEtMS01NjI3Mw_4c4efcd7-73d6-4e15-ab0d-c9f764dedab1"
      unitRef="usd">5082000</us-gaap:OperatingLeasePayments>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOmQzOWNkZjU0MTVlYjQxZmRiMmQ0MGIzMzA1M2Q4Y2RiL3RhYmxlcmFuZ2U6ZDM5Y2RmNTQxNWViNDFmZGIyZDQwYjMzMDUzZDhjZGJfOS0xLTEtMS01NjI3Mw_ff67457c-c855-4544-925d-7aded27ad1a9"
      unitRef="usd">2169000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOmQzOWNkZjU0MTVlYjQxZmRiMmQ0MGIzMzA1M2Q4Y2RiL3RhYmxlcmFuZ2U6ZDM5Y2RmNTQxNWViNDFmZGIyZDQwYjMzMDUzZDhjZGJfOS0zLTEtMS01NjI3Mw_5afa1853-ff0b-45e8-915f-dcd962e75165"
      unitRef="usd">933000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOmQzOWNkZjU0MTVlYjQxZmRiMmQ0MGIzMzA1M2Q4Y2RiL3RhYmxlcmFuZ2U6ZDM5Y2RmNTQxNWViNDFmZGIyZDQwYjMzMDUzZDhjZGJfMTAtMS0xLTEtNTYyNzM_6e7dacaf-56e2-47ab-ab95-b79da2bdcd52"
      unitRef="usd">25206000</us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOmQzOWNkZjU0MTVlYjQxZmRiMmQ0MGIzMzA1M2Q4Y2RiL3RhYmxlcmFuZ2U6ZDM5Y2RmNTQxNWViNDFmZGIyZDQwYjMzMDUzZDhjZGJfMTAtMy0xLTEtNTYyNzM_28a118b3-1020-40e7-845e-6f83780f921b"
      unitRef="usd">167000</us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability>
    <nx:LeaseTermandDiscountRateLesseeTableTextBlock
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RleHRyZWdpb246YTMxYmI2ZjY3OTVkNDBjZTk1Zjc4MWQzN2Q3NTJiNTdfMzc1OA_c20566e1-55e3-492b-b083-2b4286aebbb7">&lt;div style="margin-top:10pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The table below presents the weighted-average remaining lease terms and weighted-average discount rates for the Company's leases as of April&#160;30, 2023 and October&#160;31, 2022:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:64.639%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.298%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.299%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Weighted-average remaining lease term (in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11.0&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.8&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Financing leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19.3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13.7&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Weighted-average discount rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.92&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.84&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Financing leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.48&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.78&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</nx:LeaseTermandDiscountRateLesseeTableTextBlock>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOmE3YmJlZDYxZjlmNDRhNzNhZGQzZTk5N2RmYzZjNTQyL3RhYmxlcmFuZ2U6YTdiYmVkNjFmOWY0NGE3M2FkZDNlOTk3ZGZjNmM1NDJfMi0yLTEtMS01NjI3Mw_d63bd72b-3d52-47dc-993c-273aa326bdec">P11Y</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOmE3YmJlZDYxZjlmNDRhNzNhZGQzZTk5N2RmYzZjNTQyL3RhYmxlcmFuZ2U6YTdiYmVkNjFmOWY0NGE3M2FkZDNlOTk3ZGZjNmM1NDJfMi00LTEtMS01NjI3Mw_fb14dc94-5880-446b-b1cd-4b8b0aee9bc8">P10Y9M18D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOmE3YmJlZDYxZjlmNDRhNzNhZGQzZTk5N2RmYzZjNTQyL3RhYmxlcmFuZ2U6YTdiYmVkNjFmOWY0NGE3M2FkZDNlOTk3ZGZjNmM1NDJfMy0yLTEtMS01NjI3Mw_b2eba6f4-9606-4fd8-9240-b6c59bd68988">P19Y3M18D</us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOmE3YmJlZDYxZjlmNDRhNzNhZGQzZTk5N2RmYzZjNTQyL3RhYmxlcmFuZ2U6YTdiYmVkNjFmOWY0NGE3M2FkZDNlOTk3ZGZjNmM1NDJfMy00LTEtMS01NjI3Mw_ccf42868-a8f8-4ee6-bc15-ac6407a549fb">P13Y8M12D</us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOmE3YmJlZDYxZjlmNDRhNzNhZGQzZTk5N2RmYzZjNTQyL3RhYmxlcmFuZ2U6YTdiYmVkNjFmOWY0NGE3M2FkZDNlOTk3ZGZjNmM1NDJfNi0yLTEtMS01NjI3Mw_ab083932-9e6f-4e6b-b813-9655806415cc"
      unitRef="number">0.0392</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOmE3YmJlZDYxZjlmNDRhNzNhZGQzZTk5N2RmYzZjNTQyL3RhYmxlcmFuZ2U6YTdiYmVkNjFmOWY0NGE3M2FkZDNlOTk3ZGZjNmM1NDJfNi00LTEtMS01NjI3Mw_82a0118d-d98e-4959-8c49-67f340bc4154"
      unitRef="number">0.0384</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOmE3YmJlZDYxZjlmNDRhNzNhZGQzZTk5N2RmYzZjNTQyL3RhYmxlcmFuZ2U6YTdiYmVkNjFmOWY0NGE3M2FkZDNlOTk3ZGZjNmM1NDJfNy0yLTEtMS01NjI3Mw_21c6a6e7-071d-42a5-b624-ed12525f98dc"
      unitRef="number">0.0448</us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOmE3YmJlZDYxZjlmNDRhNzNhZGQzZTk5N2RmYzZjNTQyL3RhYmxlcmFuZ2U6YTdiYmVkNjFmOWY0NGE3M2FkZDNlOTk3ZGZjNmM1NDJfNy00LTEtMS01NjI3Mw_461a861b-6886-4105-96d1-f9b78d116875"
      unitRef="number">0.0378</us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RleHRyZWdpb246YTMxYmI2ZjY3OTVkNDBjZTk1Zjc4MWQzN2Q3NTJiNTdfMzc0NQ_d42769f8-f635-43b2-8b3d-1d2fa114ab91">&lt;div style="margin-top:10pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The table below presents the maturity of the lease liabilities as of April&#160;30, 2023 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:64.589%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.322%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.323%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Operating Leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Finance Leases&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023 (remaining six months)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,626&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,403&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,452&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,793&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,649&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,731&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,294&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,614&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,527&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,493&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,472&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62,787&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;59,020&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;83,821&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: present value discount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,402&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,225&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,618&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;55,596&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RleHRyZWdpb246YTMxYmI2ZjY3OTVkNDBjZTk1Zjc4MWQzN2Q3NTJiNTdfMzc1OQ_6ea382a1-a4f9-4906-b672-9d3a935a3407">&lt;div style="margin-top:10pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The table below presents the maturity of the lease liabilities as of April&#160;30, 2023 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:64.589%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.322%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.323%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Operating Leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Finance Leases&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023 (remaining six months)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,626&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,403&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,452&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,793&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,649&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,731&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,294&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,614&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,527&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,493&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,472&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62,787&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;59,020&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;83,821&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: present value discount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,402&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,225&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,618&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;55,596&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOjIwYTI2OGE0NzNmOTQzYzZiNDBlYTlhMDg1ODQ4YTBhL3RhYmxlcmFuZ2U6MjBhMjY4YTQ3M2Y5NDNjNmI0MGVhOWEwODU4NDhhMGFfMS0yLTEtMS01NjI3Mw_6a67b88f-efb0-463d-9090-7477caef95a1"
      unitRef="usd">4626000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear>
    <us-gaap:FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOjIwYTI2OGE0NzNmOTQzYzZiNDBlYTlhMDg1ODQ4YTBhL3RhYmxlcmFuZ2U6MjBhMjY4YTQ3M2Y5NDNjNmI0MGVhOWEwODU4NDhhMGFfMS00LTEtMS01NjI3Mw_7f69a7ad-a180-4e21-ad6c-78c2800cdb91"
      unitRef="usd">2403000</us-gaap:FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOjIwYTI2OGE0NzNmOTQzYzZiNDBlYTlhMDg1ODQ4YTBhL3RhYmxlcmFuZ2U6MjBhMjY4YTQ3M2Y5NDNjNmI0MGVhOWEwODU4NDhhMGFfMi0yLTEtMS01NjI3Mw_b9ed8962-8c60-4890-9003-ca014be04531"
      unitRef="usd">8452000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOjIwYTI2OGE0NzNmOTQzYzZiNDBlYTlhMDg1ODQ4YTBhL3RhYmxlcmFuZ2U6MjBhMjY4YTQ3M2Y5NDNjNmI0MGVhOWEwODU4NDhhMGFfMi00LTEtMS01NjI3Mw_1b75e7fa-0487-4291-bc5a-55076c834de9"
      unitRef="usd">4793000</us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOjIwYTI2OGE0NzNmOTQzYzZiNDBlYTlhMDg1ODQ4YTBhL3RhYmxlcmFuZ2U6MjBhMjY4YTQ3M2Y5NDNjNmI0MGVhOWEwODU4NDhhMGFfMy0yLTEtMS01NjI3Mw_cf3b6a18-0c9e-406a-bad3-01fcb2a22038"
      unitRef="usd">6649000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOjIwYTI2OGE0NzNmOTQzYzZiNDBlYTlhMDg1ODQ4YTBhL3RhYmxlcmFuZ2U6MjBhMjY4YTQ3M2Y5NDNjNmI0MGVhOWEwODU4NDhhMGFfMy00LTEtMS01NjI3Mw_111ec6ec-b1bf-4a17-a883-febad95efa31"
      unitRef="usd">4731000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOjIwYTI2OGE0NzNmOTQzYzZiNDBlYTlhMDg1ODQ4YTBhL3RhYmxlcmFuZ2U6MjBhMjY4YTQ3M2Y5NDNjNmI0MGVhOWEwODU4NDhhMGFfNC0yLTEtMS01NjI3Mw_4902470e-f3a8-4901-abe1-9be0395f67b9"
      unitRef="usd">5294000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOjIwYTI2OGE0NzNmOTQzYzZiNDBlYTlhMDg1ODQ4YTBhL3RhYmxlcmFuZ2U6MjBhMjY4YTQ3M2Y5NDNjNmI0MGVhOWEwODU4NDhhMGFfNC00LTEtMS01NjI3Mw_54d9598e-626e-4dbb-8ffb-12b2f2a29a2c"
      unitRef="usd">4614000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOjIwYTI2OGE0NzNmOTQzYzZiNDBlYTlhMDg1ODQ4YTBhL3RhYmxlcmFuZ2U6MjBhMjY4YTQ3M2Y5NDNjNmI0MGVhOWEwODU4NDhhMGFfNS0yLTEtMS01NjI3Mw_e275614b-079a-48ca-ae25-666ace14a9a7"
      unitRef="usd">4527000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearFour
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOjIwYTI2OGE0NzNmOTQzYzZiNDBlYTlhMDg1ODQ4YTBhL3RhYmxlcmFuZ2U6MjBhMjY4YTQ3M2Y5NDNjNmI0MGVhOWEwODU4NDhhMGFfNS00LTEtMS01NjI3Mw_11e4a998-035d-4a02-8411-66e9d665d678"
      unitRef="usd">4493000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearFour>
    <nx:LesseeOperatingLeaseLiabilityToBePaidAfterYearFour
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOjIwYTI2OGE0NzNmOTQzYzZiNDBlYTlhMDg1ODQ4YTBhL3RhYmxlcmFuZ2U6MjBhMjY4YTQ3M2Y5NDNjNmI0MGVhOWEwODU4NDhhMGFfNi0yLTEtMS01NjI3Mw_06e8501c-6e0f-40bb-ac55-018a46238310"
      unitRef="usd">29472000</nx:LesseeOperatingLeaseLiabilityToBePaidAfterYearFour>
    <nx:FinanceLeaseLiabilityToBePaidAfterYearFour
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOjIwYTI2OGE0NzNmOTQzYzZiNDBlYTlhMDg1ODQ4YTBhL3RhYmxlcmFuZ2U6MjBhMjY4YTQ3M2Y5NDNjNmI0MGVhOWEwODU4NDhhMGFfNi00LTEtMS01NjI3Mw_e72a3414-0133-4bc0-bc4a-69314fb453c4"
      unitRef="usd">62787000</nx:FinanceLeaseLiabilityToBePaidAfterYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOjIwYTI2OGE0NzNmOTQzYzZiNDBlYTlhMDg1ODQ4YTBhL3RhYmxlcmFuZ2U6MjBhMjY4YTQ3M2Y5NDNjNmI0MGVhOWEwODU4NDhhMGFfNy0yLTEtMS01NjI3Mw_608d5682-d4b6-4add-8f48-f3388c51100a"
      unitRef="usd">59020000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:FinanceLeaseLiabilityPaymentsDue
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOjIwYTI2OGE0NzNmOTQzYzZiNDBlYTlhMDg1ODQ4YTBhL3RhYmxlcmFuZ2U6MjBhMjY4YTQ3M2Y5NDNjNmI0MGVhOWEwODU4NDhhMGFfNy00LTEtMS01NjI3Mw_ef22a6b3-86ec-412a-8f54-dca38322bd65"
      unitRef="usd">83821000</us-gaap:FinanceLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOjIwYTI2OGE0NzNmOTQzYzZiNDBlYTlhMDg1ODQ4YTBhL3RhYmxlcmFuZ2U6MjBhMjY4YTQ3M2Y5NDNjNmI0MGVhOWEwODU4NDhhMGFfOC0yLTEtMS01NjI3Mw_959211cf-a9ff-4b2b-8475-daba5f208dd5"
      unitRef="usd">12402000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOjIwYTI2OGE0NzNmOTQzYzZiNDBlYTlhMDg1ODQ4YTBhL3RhYmxlcmFuZ2U6MjBhMjY4YTQ3M2Y5NDNjNmI0MGVhOWEwODU4NDhhMGFfOC00LTEtMS01NjI3Mw_73dd38e7-bfd3-4dc5-9b05-fa88884b899f"
      unitRef="usd">28225000</us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOjIwYTI2OGE0NzNmOTQzYzZiNDBlYTlhMDg1ODQ4YTBhL3RhYmxlcmFuZ2U6MjBhMjY4YTQ3M2Y5NDNjNmI0MGVhOWEwODU4NDhhMGFfOS0yLTEtMS01NjI3Mw_e41da5c6-d88e-4c2e-825b-6ec6ef7f8c5d"
      unitRef="usd">46618000</us-gaap:OperatingLeaseLiability>
    <us-gaap:FinanceLeaseLiability
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80My9mcmFnOmEzMWJiNmY2Nzk1ZDQwY2U5NWY3ODFkMzdkNzUyYjU3L3RhYmxlOjIwYTI2OGE0NzNmOTQzYzZiNDBlYTlhMDg1ODQ4YTBhL3RhYmxlcmFuZ2U6MjBhMjY4YTQ3M2Y5NDNjNmI0MGVhOWEwODU4NDhhMGFfOS00LTEtMS01NjI3Mw_4444fa1b-36f1-4c7c-a25f-5e103ce9680e"
      unitRef="usd">55596000</us-gaap:FinanceLeaseLiability>
    <us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80OS9mcmFnOjA3NWQzZDc1OTcyYzRmZGRhZjQyNDI4Mjg0Mjc1ZDVjL3RleHRyZWdpb246MDc1ZDNkNzU5NzJjNGZkZGFmNDI0MjgyODQyNzVkNWNfMTM1NA_cc21c4cb-0f1f-4995-8ef9-78c33d618793">Goodwill and Intangible Assets &lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Goodwill&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The change in the carrying amount of goodwill for the six months ended April&#160;30, 2023 was as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:79.455%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.345%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Six Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30, 2023&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning balance as of November 1, 2022&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;137,855&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;LMI acquisition&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,393&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign currency translation adjustment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,976&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of the end of the period&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;185,224&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At our last annual test date, August 31, 2022, we evaluated the recoverability of goodwill at each of our five reporting units with goodwill balances and determined that our goodwill was not impaired. An additional reporting unit was acquired during the six months ended April 30, 2023. We evaluated for indicators of impairment for all reporting units during the three and six months ended April 30, 2023 and determined that there were no triggering events. For additional discussion of change in reporting units and a summary of the change in the carrying amount of goodwill by segment, see Note 12, &#x201c;Segment Information.&#x201d;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Identifiable Intangible Assets&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Amortizable intangible assets consisted of the following as of April&#160;30, 2023 and October&#160;31, 2022 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:44.514%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.622%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Carrying&lt;br/&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Carrying&lt;br/&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;158,850&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;94,866&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;139,607&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;88,646&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trademarks and trade names&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;55,899&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,099&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,389&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,610&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Patents and other technology&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,148&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,951&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,390&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,095&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;239,897&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;158,916&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;216,386&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;151,351&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In connection to the LMI Acquisition, we added gross carrying intangibles of $16.0 million of customer relationships, $3.0 million of other technology and $0.5 million of trade names. We had aggregate amortization expense related to intangible assets for the three and six months ended April&#160;30, 2023 of $3.0 million and $6.1 million, respectively, $3.0 million and $6.0 million for the comparable prior year periods. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Estimated remaining amortization expense, assuming current intangible balances and no new acquisitions, for future fiscal years as of &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;April&#160;30, 2023&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:79.455%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.345%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Estimated&lt;br/&gt;Amortization Expense&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023 (remaining six months)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,981&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,367&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,139&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,064&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,065&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,365&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;80,981&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfGoodwillTextBlock
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80OS9mcmFnOjA3NWQzZDc1OTcyYzRmZGRhZjQyNDI4Mjg0Mjc1ZDVjL3RleHRyZWdpb246MDc1ZDNkNzU5NzJjNGZkZGFmNDI0MjgyODQyNzVkNWNfMTMzNA_f63d1212-b06f-49a0-bdbd-170fd341eb35">&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The change in the carrying amount of goodwill for the six months ended April&#160;30, 2023 was as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:79.455%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.345%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Six Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30, 2023&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning balance as of November 1, 2022&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;137,855&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;LMI acquisition&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,393&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign currency translation adjustment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,976&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of the end of the period&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;185,224&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:4pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the change in the carrying amount of goodwill by reportable business segment for the six months ended April&#160;30, 2023 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:37.992%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.117%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.117%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.117%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.117%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.032%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;NA Fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;EU Fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;NA Cabinet Comp.&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Unallocated Corp. &amp;amp; Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Balance as of October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,712&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;59,996&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,147&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;137,855&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;LMI acquisition&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,393&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,393&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign currency translation adjustment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,976&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,976&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Balance as of April 30, 2023&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;80,105&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;65,972&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,147&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;185,224&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfGoodwillTextBlock>
    <us-gaap:Goodwill
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80OS9mcmFnOjA3NWQzZDc1OTcyYzRmZGRhZjQyNDI4Mjg0Mjc1ZDVjL3RhYmxlOmY1MGE3ZTlmMGFhMTQ1NDZiNzZhODE0OTM1MmIzOGRlL3RhYmxlcmFuZ2U6ZjUwYTdlOWYwYWExNDU0NmI3NmE4MTQ5MzUyYjM4ZGVfMi0xLTEtMS01NjI3Mw_6049994b-0bb8-4b10-9821-24472a3a3113"
      unitRef="usd">137855000</us-gaap:Goodwill>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80OS9mcmFnOjA3NWQzZDc1OTcyYzRmZGRhZjQyNDI4Mjg0Mjc1ZDVjL3RhYmxlOmY1MGE3ZTlmMGFhMTQ1NDZiNzZhODE0OTM1MmIzOGRlL3RhYmxlcmFuZ2U6ZjUwYTdlOWYwYWExNDU0NmI3NmE4MTQ5MzUyYjM4ZGVfNC0xLTEtMS01NjI3Mw_137891da-fae2-42d5-ae95-f02bf869cafe"
      unitRef="usd">41393000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80OS9mcmFnOjA3NWQzZDc1OTcyYzRmZGRhZjQyNDI4Mjg0Mjc1ZDVjL3RhYmxlOmY1MGE3ZTlmMGFhMTQ1NDZiNzZhODE0OTM1MmIzOGRlL3RhYmxlcmFuZ2U6ZjUwYTdlOWYwYWExNDU0NmI3NmE4MTQ5MzUyYjM4ZGVfNS0xLTEtMS01NjI3Mw_8e5b915f-59a6-4d76-8f64-11b378f2baa6"
      unitRef="usd">5976000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:Goodwill
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80OS9mcmFnOjA3NWQzZDc1OTcyYzRmZGRhZjQyNDI4Mjg0Mjc1ZDVjL3RhYmxlOmY1MGE3ZTlmMGFhMTQ1NDZiNzZhODE0OTM1MmIzOGRlL3RhYmxlcmFuZ2U6ZjUwYTdlOWYwYWExNDU0NmI3NmE4MTQ5MzUyYjM4ZGVfNi0xLTEtMS01NjI3Mw_c229cf15-175a-4ada-862c-234b6c9425a9"
      unitRef="usd">185224000</us-gaap:Goodwill>
    <us-gaap:NumberOfReportingUnits
      contextRef="i5835f6353317432fb2e09e075a10ac89_D20220831-20220831"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80OS9mcmFnOjA3NWQzZDc1OTcyYzRmZGRhZjQyNDI4Mjg0Mjc1ZDVjL3RleHRyZWdpb246MDc1ZDNkNzU5NzJjNGZkZGFmNDI0MjgyODQyNzVkNWNfMjU5_3c3ad9c0-340d-4af5-92cc-ae93c54b1a72"
      unitRef="reporting_unit">5</us-gaap:NumberOfReportingUnits>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="i5835f6353317432fb2e09e075a10ac89_D20220831-20220831"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80OS9mcmFnOjA3NWQzZDc1OTcyYzRmZGRhZjQyNDI4Mjg0Mjc1ZDVjL3RleHRyZWdpb246MDc1ZDNkNzU5NzJjNGZkZGFmNDI0MjgyODQyNzVkNWNfMzM4_7d0b50f7-6f5f-4136-9c5f-176c32e57e35"
      unitRef="usd">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80OS9mcmFnOjA3NWQzZDc1OTcyYzRmZGRhZjQyNDI4Mjg0Mjc1ZDVjL3RleHRyZWdpb246MDc1ZDNkNzU5NzJjNGZkZGFmNDI0MjgyODQyNzVkNWNfMTMxOQ_2efc11cf-1a61-4ab8-97ea-43487d8fbddc">&lt;div style="margin-top:8pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Identifiable Intangible Assets&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Amortizable intangible assets consisted of the following as of April&#160;30, 2023 and October&#160;31, 2022 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:44.514%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.622%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Carrying&lt;br/&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Carrying&lt;br/&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;158,850&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;94,866&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;139,607&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;88,646&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trademarks and trade names&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;55,899&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,099&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,389&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,610&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Patents and other technology&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,148&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,951&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,390&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,095&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;239,897&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;158,916&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;216,386&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;151,351&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i7b9c5afa3fd74a5296efbc531768b37a_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80OS9mcmFnOjA3NWQzZDc1OTcyYzRmZGRhZjQyNDI4Mjg0Mjc1ZDVjL3RhYmxlOjcyYWQwMjZmNWEzODRkNDM5OTNmOTEzZWU5MTFiYmUwL3RhYmxlcmFuZ2U6NzJhZDAyNmY1YTM4NGQ0Mzk5M2Y5MTNlZTkxMWJiZTBfMi0xLTEtMS01NjI3Mw_d75fdc04-9f31-48ee-8bcd-2a519e0f9d54"
      unitRef="usd">158850000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i7b9c5afa3fd74a5296efbc531768b37a_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80OS9mcmFnOjA3NWQzZDc1OTcyYzRmZGRhZjQyNDI4Mjg0Mjc1ZDVjL3RhYmxlOjcyYWQwMjZmNWEzODRkNDM5OTNmOTEzZWU5MTFiYmUwL3RhYmxlcmFuZ2U6NzJhZDAyNmY1YTM4NGQ0Mzk5M2Y5MTNlZTkxMWJiZTBfMi0zLTEtMS01NjI3Mw_a80edb8e-1855-4793-96c2-c4227041e0f8"
      unitRef="usd">94866000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="iab7ab36a559947d4af3fbf759a1e5411_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80OS9mcmFnOjA3NWQzZDc1OTcyYzRmZGRhZjQyNDI4Mjg0Mjc1ZDVjL3RhYmxlOjcyYWQwMjZmNWEzODRkNDM5OTNmOTEzZWU5MTFiYmUwL3RhYmxlcmFuZ2U6NzJhZDAyNmY1YTM4NGQ0Mzk5M2Y5MTNlZTkxMWJiZTBfMi01LTEtMS01NjI3Mw_986c7f5d-c320-49f5-adbb-ac854640fdc4"
      unitRef="usd">139607000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="iab7ab36a559947d4af3fbf759a1e5411_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80OS9mcmFnOjA3NWQzZDc1OTcyYzRmZGRhZjQyNDI4Mjg0Mjc1ZDVjL3RhYmxlOjcyYWQwMjZmNWEzODRkNDM5OTNmOTEzZWU5MTFiYmUwL3RhYmxlcmFuZ2U6NzJhZDAyNmY1YTM4NGQ0Mzk5M2Y5MTNlZTkxMWJiZTBfMi03LTEtMS01NjI3Mw_4d38231c-42e6-47e9-a2f1-4c6e97c51275"
      unitRef="usd">88646000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="iabd2044dd1204875ab2c3b3fa77349ed_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80OS9mcmFnOjA3NWQzZDc1OTcyYzRmZGRhZjQyNDI4Mjg0Mjc1ZDVjL3RhYmxlOjcyYWQwMjZmNWEzODRkNDM5OTNmOTEzZWU5MTFiYmUwL3RhYmxlcmFuZ2U6NzJhZDAyNmY1YTM4NGQ0Mzk5M2Y5MTNlZTkxMWJiZTBfMy0xLTEtMS01NjI3Mw_ab0eb506-ad53-4c14-b93d-2b3ef761a856"
      unitRef="usd">55899000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="iabd2044dd1204875ab2c3b3fa77349ed_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80OS9mcmFnOjA3NWQzZDc1OTcyYzRmZGRhZjQyNDI4Mjg0Mjc1ZDVjL3RhYmxlOjcyYWQwMjZmNWEzODRkNDM5OTNmOTEzZWU5MTFiYmUwL3RhYmxlcmFuZ2U6NzJhZDAyNmY1YTM4NGQ0Mzk5M2Y5MTNlZTkxMWJiZTBfMy0zLTEtMS01NjI3Mw_b59d3c31-de8f-4442-a4e9-deab75e0ebed"
      unitRef="usd">42099000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i912408cf663a435eb24b2c98c8898846_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80OS9mcmFnOjA3NWQzZDc1OTcyYzRmZGRhZjQyNDI4Mjg0Mjc1ZDVjL3RhYmxlOjcyYWQwMjZmNWEzODRkNDM5OTNmOTEzZWU5MTFiYmUwL3RhYmxlcmFuZ2U6NzJhZDAyNmY1YTM4NGQ0Mzk5M2Y5MTNlZTkxMWJiZTBfMy01LTEtMS01NjI3Mw_0b98f5b2-e9f3-4dbe-a2de-2bd0237f8fce"
      unitRef="usd">54389000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i912408cf663a435eb24b2c98c8898846_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80OS9mcmFnOjA3NWQzZDc1OTcyYzRmZGRhZjQyNDI4Mjg0Mjc1ZDVjL3RhYmxlOjcyYWQwMjZmNWEzODRkNDM5OTNmOTEzZWU5MTFiYmUwL3RhYmxlcmFuZ2U6NzJhZDAyNmY1YTM4NGQ0Mzk5M2Y5MTNlZTkxMWJiZTBfMy03LTEtMS01NjI3Mw_6dfd4630-4d9b-42c1-a5d7-acf4888d2cd9"
      unitRef="usd">40610000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ia7f63beecd9f49bc957842bf2fcb17f7_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80OS9mcmFnOjA3NWQzZDc1OTcyYzRmZGRhZjQyNDI4Mjg0Mjc1ZDVjL3RhYmxlOjcyYWQwMjZmNWEzODRkNDM5OTNmOTEzZWU5MTFiYmUwL3RhYmxlcmFuZ2U6NzJhZDAyNmY1YTM4NGQ0Mzk5M2Y5MTNlZTkxMWJiZTBfNC0xLTEtMS01NjI3Mw_93e0b1b2-9a6b-45e1-9e44-08b6de9ec118"
      unitRef="usd">25148000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ia7f63beecd9f49bc957842bf2fcb17f7_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80OS9mcmFnOjA3NWQzZDc1OTcyYzRmZGRhZjQyNDI4Mjg0Mjc1ZDVjL3RhYmxlOjcyYWQwMjZmNWEzODRkNDM5OTNmOTEzZWU5MTFiYmUwL3RhYmxlcmFuZ2U6NzJhZDAyNmY1YTM4NGQ0Mzk5M2Y5MTNlZTkxMWJiZTBfNC0zLTEtMS01NjI3Mw_588bb827-40df-447b-8410-d9eed667ba3c"
      unitRef="usd">21951000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i5bfbda9385474942b82a962dd1076376_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80OS9mcmFnOjA3NWQzZDc1OTcyYzRmZGRhZjQyNDI4Mjg0Mjc1ZDVjL3RhYmxlOjcyYWQwMjZmNWEzODRkNDM5OTNmOTEzZWU5MTFiYmUwL3RhYmxlcmFuZ2U6NzJhZDAyNmY1YTM4NGQ0Mzk5M2Y5MTNlZTkxMWJiZTBfNC01LTEtMS01NjI3Mw_43ff7bbb-7c91-40ca-89b9-67b515bb12b8"
      unitRef="usd">22390000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i5bfbda9385474942b82a962dd1076376_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80OS9mcmFnOjA3NWQzZDc1OTcyYzRmZGRhZjQyNDI4Mjg0Mjc1ZDVjL3RhYmxlOjcyYWQwMjZmNWEzODRkNDM5OTNmOTEzZWU5MTFiYmUwL3RhYmxlcmFuZ2U6NzJhZDAyNmY1YTM4NGQ0Mzk5M2Y5MTNlZTkxMWJiZTBfNC03LTEtMS01NjI3Mw_6162d7cf-bb58-4b5e-af40-ed57bd54fd26"
      unitRef="usd">22095000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80OS9mcmFnOjA3NWQzZDc1OTcyYzRmZGRhZjQyNDI4Mjg0Mjc1ZDVjL3RhYmxlOjcyYWQwMjZmNWEzODRkNDM5OTNmOTEzZWU5MTFiYmUwL3RhYmxlcmFuZ2U6NzJhZDAyNmY1YTM4NGQ0Mzk5M2Y5MTNlZTkxMWJiZTBfNi0xLTEtMS01NjI3Mw_847fc3a7-e098-4965-9fce-acea8aaa2808"
      unitRef="usd">239897000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80OS9mcmFnOjA3NWQzZDc1OTcyYzRmZGRhZjQyNDI4Mjg0Mjc1ZDVjL3RhYmxlOjcyYWQwMjZmNWEzODRkNDM5OTNmOTEzZWU5MTFiYmUwL3RhYmxlcmFuZ2U6NzJhZDAyNmY1YTM4NGQ0Mzk5M2Y5MTNlZTkxMWJiZTBfNi0zLTEtMS01NjI3Mw_f75a2616-f1bf-4052-b888-7c784e634aef"
      unitRef="usd">158916000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80OS9mcmFnOjA3NWQzZDc1OTcyYzRmZGRhZjQyNDI4Mjg0Mjc1ZDVjL3RhYmxlOjcyYWQwMjZmNWEzODRkNDM5OTNmOTEzZWU5MTFiYmUwL3RhYmxlcmFuZ2U6NzJhZDAyNmY1YTM4NGQ0Mzk5M2Y5MTNlZTkxMWJiZTBfNi01LTEtMS01NjI3Mw_9f197537-9143-4bee-81d5-af7935ee6782"
      unitRef="usd">216386000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80OS9mcmFnOjA3NWQzZDc1OTcyYzRmZGRhZjQyNDI4Mjg0Mjc1ZDVjL3RhYmxlOjcyYWQwMjZmNWEzODRkNDM5OTNmOTEzZWU5MTFiYmUwL3RhYmxlcmFuZ2U6NzJhZDAyNmY1YTM4NGQ0Mzk5M2Y5MTNlZTkxMWJiZTBfNi03LTEtMS01NjI3Mw_ccf792a2-fbdd-48d2-8d5c-d400fe8af209"
      unitRef="usd">151351000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i1cdbd991247b4a8cb01934a2500ee7ea_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80OS9mcmFnOjA3NWQzZDc1OTcyYzRmZGRhZjQyNDI4Mjg0Mjc1ZDVjL3RleHRyZWdpb246MDc1ZDNkNzU5NzJjNGZkZGFmNDI0MjgyODQyNzVkNWNfOTM5_9f57268e-6072-4464-96e3-f8a4108ad991"
      unitRef="usd">16000000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i80a0dc20295645eabe5a984d028823b5_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80OS9mcmFnOjA3NWQzZDc1OTcyYzRmZGRhZjQyNDI4Mjg0Mjc1ZDVjL3RleHRyZWdpb246MDc1ZDNkNzU5NzJjNGZkZGFmNDI0MjgyODQyNzVkNWNfOTY5_a6f443a9-c1f0-4155-a34e-cac0bb688782"
      unitRef="usd">3000000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ida54f398f308425ea237ceecdbd5cb3b_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80OS9mcmFnOjA3NWQzZDc1OTcyYzRmZGRhZjQyNDI4Mjg0Mjc1ZDVjL3RleHRyZWdpb246MDc1ZDNkNzU5NzJjNGZkZGFmNDI0MjgyODQyNzVkNWNfOTk2_fedf6877-a303-4afb-bebc-7b56d9e65165"
      unitRef="usd">500000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80OS9mcmFnOjA3NWQzZDc1OTcyYzRmZGRhZjQyNDI4Mjg0Mjc1ZDVjL3RleHRyZWdpb246MDc1ZDNkNzU5NzJjNGZkZGFmNDI0MjgyODQyNzVkNWNfNTQ5NzU1ODE1MjQ1_d7cd467f-a858-4f33-acca-28dde5fbf73a"
      unitRef="usd">3000000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80OS9mcmFnOjA3NWQzZDc1OTcyYzRmZGRhZjQyNDI4Mjg0Mjc1ZDVjL3RleHRyZWdpb246MDc1ZDNkNzU5NzJjNGZkZGFmNDI0MjgyODQyNzVkNWNfMTExMg_5fe52b75-e039-421d-a1f5-107ac0b70a88"
      unitRef="usd">6100000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80OS9mcmFnOjA3NWQzZDc1OTcyYzRmZGRhZjQyNDI4Mjg0Mjc1ZDVjL3RleHRyZWdpb246MDc1ZDNkNzU5NzJjNGZkZGFmNDI0MjgyODQyNzVkNWNfNTQ5NzU1ODE1Mjcz_54157e38-0643-4e8c-a344-d4bdd85f2e05"
      unitRef="usd">3000000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80OS9mcmFnOjA3NWQzZDc1OTcyYzRmZGRhZjQyNDI4Mjg0Mjc1ZDVjL3RleHRyZWdpb246MDc1ZDNkNzU5NzJjNGZkZGFmNDI0MjgyODQyNzVkNWNfMTExOQ_8f929be3-bb6a-4857-bd44-55f4616185a2"
      unitRef="usd">6000000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80OS9mcmFnOjA3NWQzZDc1OTcyYzRmZGRhZjQyNDI4Mjg0Mjc1ZDVjL3RleHRyZWdpb246MDc1ZDNkNzU5NzJjNGZkZGFmNDI0MjgyODQyNzVkNWNfMTM1Mg_43fec13d-e70a-45d4-8cdf-4ca4eae73560">&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:79.455%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.345%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Estimated&lt;br/&gt;Amortization Expense&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023 (remaining six months)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,981&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,367&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,139&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,064&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,065&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,365&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;80,981&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80OS9mcmFnOjA3NWQzZDc1OTcyYzRmZGRhZjQyNDI4Mjg0Mjc1ZDVjL3RhYmxlOjM5OWM2M2IzY2MyYzQ2YzQ5NDY2MGFkMDBmMjc4MWMyL3RhYmxlcmFuZ2U6Mzk5YzYzYjNjYzJjNDZjNDk0NjYwYWQwMGYyNzgxYzJfMS0xLTEtMS01NjI3Mw_f167e013-3220-47f5-923b-bbaa049bbb20"
      unitRef="usd">5981000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80OS9mcmFnOjA3NWQzZDc1OTcyYzRmZGRhZjQyNDI4Mjg0Mjc1ZDVjL3RhYmxlOjM5OWM2M2IzY2MyYzQ2YzQ5NDY2MGFkMDBmMjc4MWMyL3RhYmxlcmFuZ2U6Mzk5YzYzYjNjYzJjNDZjNDk0NjYwYWQwMGYyNzgxYzJfMi0xLTEtMS01NjI3Mw_6bfe3a6b-8560-4d1b-a877-87bad4482d42"
      unitRef="usd">11367000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80OS9mcmFnOjA3NWQzZDc1OTcyYzRmZGRhZjQyNDI4Mjg0Mjc1ZDVjL3RhYmxlOjM5OWM2M2IzY2MyYzQ2YzQ5NDY2MGFkMDBmMjc4MWMyL3RhYmxlcmFuZ2U6Mzk5YzYzYjNjYzJjNDZjNDk0NjYwYWQwMGYyNzgxYzJfMy0xLTEtMS01NjI3Mw_7c75c764-f570-407b-8c0c-0e9db4773364"
      unitRef="usd">10139000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80OS9mcmFnOjA3NWQzZDc1OTcyYzRmZGRhZjQyNDI4Mjg0Mjc1ZDVjL3RhYmxlOjM5OWM2M2IzY2MyYzQ2YzQ5NDY2MGFkMDBmMjc4MWMyL3RhYmxlcmFuZ2U6Mzk5YzYzYjNjYzJjNDZjNDk0NjYwYWQwMGYyNzgxYzJfNC0xLTEtMS01NjI3Mw_c67f412d-4210-414d-939f-d3bb19fc0f71"
      unitRef="usd">10064000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80OS9mcmFnOjA3NWQzZDc1OTcyYzRmZGRhZjQyNDI4Mjg0Mjc1ZDVjL3RhYmxlOjM5OWM2M2IzY2MyYzQ2YzQ5NDY2MGFkMDBmMjc4MWMyL3RhYmxlcmFuZ2U6Mzk5YzYzYjNjYzJjNDZjNDk0NjYwYWQwMGYyNzgxYzJfNS0xLTEtMS01NjI3Mw_517245d9-7fe7-4e0d-b2eb-80535bb0d05d"
      unitRef="usd">10065000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <nx:FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80OS9mcmFnOjA3NWQzZDc1OTcyYzRmZGRhZjQyNDI4Mjg0Mjc1ZDVjL3RhYmxlOjM5OWM2M2IzY2MyYzQ2YzQ5NDY2MGFkMDBmMjc4MWMyL3RhYmxlcmFuZ2U6Mzk5YzYzYjNjYzJjNDZjNDk0NjYwYWQwMGYyNzgxYzJfNi0xLTEtMS01NjI3Mw_da6c33a2-6615-4138-8cec-9517a53f9773"
      unitRef="usd">33365000</nx:FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF80OS9mcmFnOjA3NWQzZDc1OTcyYzRmZGRhZjQyNDI4Mjg0Mjc1ZDVjL3RhYmxlOjM5OWM2M2IzY2MyYzQ2YzQ5NDY2MGFkMDBmMjc4MWMyL3RhYmxlcmFuZ2U6Mzk5YzYzYjNjYzJjNDZjNDk0NjYwYWQwMGYyNzgxYzJfNy0xLTEtMS01NjI3Mw_8e33a146-cd23-4ec7-8548-d5c0f9f5090a"
      unitRef="usd">80981000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:DebtDisclosureTextBlock
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RleHRyZWdpb246ODRmMDYxNDAxNmUzNDY2MmFlMDIzZGZiODQxYTg2NmRfMzQ0MA_641a0ed4-03a8-4536-9dae-e31c19dd5686">Debt and Finance Lease Obligations&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; Long-term debt consisted of the following at April&#160;30, 2023 and October&#160;31, 2022 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:66.542%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.419%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.117%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.422%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30,&lt;br/&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revolving Credit Facility&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;80,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance lease obligations and other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;55,626&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,202&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unamortized deferred financing fees&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,363)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,528)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total debt&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;134,263&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,674&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Current maturities of long-term debt&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,113&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,046&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-term debt&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;132,150&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,628&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Revolving Credit Facility&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On July 6, 2022, we entered into our Second Amended and Restated Credit Agreement (the &#x201c;Credit Facility&#x201d;) with Wells Fargo Securities, LLC, as Agent, Swingline Lender and Issuing Lender, and BofA Securities, Inc. serving as Syndication Agent. We capitalized $1.2&#160;million of deferred financing fees related to the Credit Facility&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; This $325.0 million revolving credit facility has a &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RleHRyZWdpb246ODRmMDYxNDAxNmUzNDY2MmFlMDIzZGZiODQxYTg2NmRfNTQ0_c7554809-7bf4-48cb-aca5-38536b718d4c"&gt;five&lt;/span&gt;-year term, maturing on July 6, 2027, and replaces our previous credit facility. Our previous credit facility is more fully described in our Annual Report on Form 10-K for the fiscal year ended October&#160;31, 2022.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Interest payments for the Credit Facility are calculated, at our election and depending upon the Consolidated Net Leverage Ratio, at a Base Rate (as defined within the Credit Facility) plus an applicable margin or at the same rate as Risk-Free Rate (&#x201c;RFR&#x201d;) Loans for domestic borrowings or Eurocurrency Rate Loans plus an applicable margin. In addition, we are subject to commitment fees for the unused portion of the Credit Facility. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The applicable margin and commitment fees are outlined in the following table:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.110%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:33.841%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.367%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.547%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Pricing Level&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Consolidated Net Leverage Ratio&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Commitment Fee&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Eurocurrency Rate Loans and RFR Loans&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Base Rate Loans&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;I&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less than or equal to 1.50 to 1.00&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.150%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.25%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.25%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;II&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Greater than 1.50 to 1.00, but less than or equal to 2.25 to 1.00&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.175%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.50%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.50%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;III&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Greater than 2.25 to 1.00, but less than or equal to 3.00 to 1.00&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.200%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.75%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.75%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;IV&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Greater than 3.00 to 1.00&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.250%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.00%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.00%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In the event of default, outstanding borrowings would accrue interest at the Default Rate, as defined, whereby the obligations will bear interest at a per annum rate equal to 2% above the total per annum rate otherwise applicable.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Credit Facility provides for incremental revolving credit commitments for a minimum principal amount of $10.0&#160;million, up to an aggregate amount of $150.0&#160;million or 100% of Consolidated EBITDA, subject to the lender's discretion to elect or decline the incremental increase. We can also borrow up to the lesser of $15.0&#160;million or the revolving credit commitment, as defined, under a Swingline feature of the Credit Facility.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Credit Facility contains a: (1) Consolidated Interest Coverage Ratio requirement whereby we must not permit the Consolidated Interest Coverage Ratio, as defined, to be less than 3.00 to 1.00, and (2) Consolidated Net Leverage Ratio requirement, whereby we must not permit the Consolidated Net Leverage Ratio, as defined, to be greater than 3.25 to 1.00.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In addition to maintaining these financial covenants, the Credit Facility also limits our ability to enter into certain business transactions, such as to incur indebtedness or liens, to acquire businesses or dispose of material assets, make restricted payments, pay dividends (limited to $25.0 million per year) and other transactions as further defined in the Credit Facility.  Some of these limitations, however, do not take effect so long as Consolidated Net Leverage Ratio is less than or equal to 2.75 to 1.00 and available liquidity exceeds $25.0&#160;million. Substantially all of our domestic assets, with the exception of real property, are used as collateral for the Credit Agreement. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:8pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of April&#160;30, 2023, we ha&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;d $80.0 million of borrowings outstanding under the Credit Facility (reduced by unamortized debt issuance costs of $1.4 million), $5.1 million of outstanding letters of credit and $55.6 million outstanding primarily under finance leases and other debt. We had $239.9 million available for use under the Credit Facility at April&#160;30, 2023. Outstanding &lt;/span&gt;&lt;/div&gt;borrowings under the Credit Facility accrue interest at 6.33% per annum. Our weighted-average borrowing rate for borrowings outstanding during the six months ended April&#160;30, 2023 and 2022 was 5.71% and 1.48%, respectively. We were in compliance with our debt covenants as of April&#160;30, 2023.</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:ScheduleOfDebtTableTextBlock
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RleHRyZWdpb246ODRmMDYxNDAxNmUzNDY2MmFlMDIzZGZiODQxYTg2NmRfMzQ0Mw_aefe6ba3-1769-4a01-9ab2-0837e48be03c">Long-term debt consisted of the following at April&#160;30, 2023 and October&#160;31, 2022 (in thousands):&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:66.542%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.419%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.117%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.422%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30,&lt;br/&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revolving Credit Facility&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;80,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance lease obligations and other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;55,626&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,202&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unamortized deferred financing fees&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,363)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,528)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total debt&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;134,263&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,674&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Current maturities of long-term debt&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,113&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,046&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-term debt&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;132,150&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,628&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfDebtTableTextBlock>
    <us-gaap:DebtAndCapitalLeaseObligations
      contextRef="i7a9843bfedd546948e6ed3913aabfd30_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RhYmxlOmU5YTVlZTA1ZjI4YzQ0YjBhZDdiZWM3NzBiNTg4Yjc0L3RhYmxlcmFuZ2U6ZTlhNWVlMDVmMjhjNDRiMGFkN2JlYzc3MGI1ODhiNzRfMS0xLTEtMS01NjI3Mw_c1beb39f-d955-4127-9c87-f6917502a889"
      unitRef="usd">80000000</us-gaap:DebtAndCapitalLeaseObligations>
    <us-gaap:DebtAndCapitalLeaseObligations
      contextRef="i4fc22f06f886460780ffd37595727558_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RhYmxlOmU5YTVlZTA1ZjI4YzQ0YjBhZDdiZWM3NzBiNTg4Yjc0L3RhYmxlcmFuZ2U6ZTlhNWVlMDVmMjhjNDRiMGFkN2JlYzc3MGI1ODhiNzRfMS0zLTEtMS01NjI3Mw_4cd87168-d709-4677-a762-c126249fdf92"
      unitRef="usd">13000000</us-gaap:DebtAndCapitalLeaseObligations>
    <us-gaap:DebtAndCapitalLeaseObligations
      contextRef="i869a8eaf9a93422f94a62c2d991eec1f_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RhYmxlOmU5YTVlZTA1ZjI4YzQ0YjBhZDdiZWM3NzBiNTg4Yjc0L3RhYmxlcmFuZ2U6ZTlhNWVlMDVmMjhjNDRiMGFkN2JlYzc3MGI1ODhiNzRfNC0xLTEtMS01NjI3Mw_222f643e-20f9-4d59-8428-d8d071d1ce05"
      unitRef="usd">55626000</us-gaap:DebtAndCapitalLeaseObligations>
    <us-gaap:DebtAndCapitalLeaseObligations
      contextRef="i9a04a0097efc4e33be66d617681f7afc_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RhYmxlOmU5YTVlZTA1ZjI4YzQ0YjBhZDdiZWM3NzBiNTg4Yjc0L3RhYmxlcmFuZ2U6ZTlhNWVlMDVmMjhjNDRiMGFkN2JlYzc3MGI1ODhiNzRfNC0zLTEtMS01NjI3Mw_157fcef2-ee66-46d1-a6af-6f8d6d0eedb4"
      unitRef="usd">19202000</us-gaap:DebtAndCapitalLeaseObligations>
    <us-gaap:DebtInstrumentUnamortizedDiscountPremiumNet
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RhYmxlOmU5YTVlZTA1ZjI4YzQ0YjBhZDdiZWM3NzBiNTg4Yjc0L3RhYmxlcmFuZ2U6ZTlhNWVlMDVmMjhjNDRiMGFkN2JlYzc3MGI1ODhiNzRfNS0xLTEtMS01NjI3Mw_b724d10c-c589-41e4-b879-b325f12e4398"
      unitRef="usd">1363000</us-gaap:DebtInstrumentUnamortizedDiscountPremiumNet>
    <us-gaap:DebtInstrumentUnamortizedDiscountPremiumNet
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RhYmxlOmU5YTVlZTA1ZjI4YzQ0YjBhZDdiZWM3NzBiNTg4Yjc0L3RhYmxlcmFuZ2U6ZTlhNWVlMDVmMjhjNDRiMGFkN2JlYzc3MGI1ODhiNzRfNS0zLTEtMS01NjI3Mw_cd493ebf-adc7-497d-8881-3bd170ee8a07"
      unitRef="usd">1528000</us-gaap:DebtInstrumentUnamortizedDiscountPremiumNet>
    <us-gaap:DebtAndCapitalLeaseObligations
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RhYmxlOmU5YTVlZTA1ZjI4YzQ0YjBhZDdiZWM3NzBiNTg4Yjc0L3RhYmxlcmFuZ2U6ZTlhNWVlMDVmMjhjNDRiMGFkN2JlYzc3MGI1ODhiNzRfNi0xLTEtMS01NjI3Mw_29ec2ba4-6bbf-4381-aa90-718b7a143982"
      unitRef="usd">134263000</us-gaap:DebtAndCapitalLeaseObligations>
    <us-gaap:DebtAndCapitalLeaseObligations
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RhYmxlOmU5YTVlZTA1ZjI4YzQ0YjBhZDdiZWM3NzBiNTg4Yjc0L3RhYmxlcmFuZ2U6ZTlhNWVlMDVmMjhjNDRiMGFkN2JlYzc3MGI1ODhiNzRfNi0zLTEtMS01NjI3Mw_86b16904-ff88-4e9f-8f02-79232a0d0e9c"
      unitRef="usd">30674000</us-gaap:DebtAndCapitalLeaseObligations>
    <us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RhYmxlOmU5YTVlZTA1ZjI4YzQ0YjBhZDdiZWM3NzBiNTg4Yjc0L3RhYmxlcmFuZ2U6ZTlhNWVlMDVmMjhjNDRiMGFkN2JlYzc3MGI1ODhiNzRfNy0xLTEtMS01NjI3Mw_92b8f979-5a46-45d4-810d-7daa0fc8cae2"
      unitRef="usd">2113000</us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent>
    <us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RhYmxlOmU5YTVlZTA1ZjI4YzQ0YjBhZDdiZWM3NzBiNTg4Yjc0L3RhYmxlcmFuZ2U6ZTlhNWVlMDVmMjhjNDRiMGFkN2JlYzc3MGI1ODhiNzRfNy0zLTEtMS01NjI3Mw_4dbcac07-25af-4e4d-af0c-ad40d9b83b6c"
      unitRef="usd">1046000</us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent>
    <us-gaap:LongTermDebtAndCapitalLeaseObligations
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RhYmxlOmU5YTVlZTA1ZjI4YzQ0YjBhZDdiZWM3NzBiNTg4Yjc0L3RhYmxlcmFuZ2U6ZTlhNWVlMDVmMjhjNDRiMGFkN2JlYzc3MGI1ODhiNzRfOC0xLTEtMS01NjI3Mw_bf17bade-88f5-4298-a55e-57a5f4f50f41"
      unitRef="usd">132150000</us-gaap:LongTermDebtAndCapitalLeaseObligations>
    <us-gaap:LongTermDebtAndCapitalLeaseObligations
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RhYmxlOmU5YTVlZTA1ZjI4YzQ0YjBhZDdiZWM3NzBiNTg4Yjc0L3RhYmxlcmFuZ2U6ZTlhNWVlMDVmMjhjNDRiMGFkN2JlYzc3MGI1ODhiNzRfOC0zLTEtMS01NjI3Mw_95f16f99-c3f9-4af9-b6cd-61dc55905168"
      unitRef="usd">29628000</us-gaap:LongTermDebtAndCapitalLeaseObligations>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="i737ce1e9519341b6b5e224e84ee6a330_D20211101-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RleHRyZWdpb246ODRmMDYxNDAxNmUzNDY2MmFlMDIzZGZiODQxYTg2NmRfNDAx_580bb531-65de-4d7a-8166-7f7625f33286"
      unitRef="usd">1200000</us-gaap:PaymentsOfDebtIssuanceCosts>
    <nx:LineofCreditFacilityMaximumBorrowingCapacityCommittedAmount
      contextRef="i2c138dd2c8534c45a5aacc716a8d0ecb_I20220706"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RleHRyZWdpb246ODRmMDYxNDAxNmUzNDY2MmFlMDIzZGZiODQxYTg2NmRfNTA5_d9c37bd7-5b70-450f-8bd5-6ade9b842a35"
      unitRef="usd">325000000</nx:LineofCreditFacilityMaximumBorrowingCapacityCommittedAmount>
    <nx:ScheduleOfApplicableMarginAndCommitmentFeesTableTextBlock
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RleHRyZWdpb246ODRmMDYxNDAxNmUzNDY2MmFlMDIzZGZiODQxYTg2NmRfMzQ1OA_a9f42261-3c60-45c7-83c0-78385d0f19aa">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The applicable margin and commitment fees are outlined in the following table:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.110%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:33.841%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.367%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.547%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Pricing Level&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Consolidated Net Leverage Ratio&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Commitment Fee&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Eurocurrency Rate Loans and RFR Loans&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Base Rate Loans&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;I&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less than or equal to 1.50 to 1.00&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.150%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.25%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.25%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;II&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Greater than 1.50 to 1.00, but less than or equal to 2.25 to 1.00&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.175%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.50%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.50%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;III&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Greater than 2.25 to 1.00, but less than or equal to 3.00 to 1.00&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.200%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.75%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.75%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;IV&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Greater than 3.00 to 1.00&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.250%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.00%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.00%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</nx:ScheduleOfApplicableMarginAndCommitmentFeesTableTextBlock>
    <us-gaap:LineOfCreditFacilityCommitmentFeePercentage
      contextRef="i8a17ac9b909b469cbf25616f1d275d78_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RhYmxlOjQ4ZWI3M2U1OTE2NDQ5MGE5NjJiYmYxODUxMGFhZTQ1L3RhYmxlcmFuZ2U6NDhlYjczZTU5MTY0NDkwYTk2MmJiZjE4NTEwYWFlNDVfMS00LTEtMS01NjI3Mw_ceab01c5-a272-4c26-8df5-f0d71776c878"
      unitRef="number">0.00150</us-gaap:LineOfCreditFacilityCommitmentFeePercentage>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i77e9d716438e4331b9ac75339b70ae31_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RhYmxlOjQ4ZWI3M2U1OTE2NDQ5MGE5NjJiYmYxODUxMGFhZTQ1L3RhYmxlcmFuZ2U6NDhlYjczZTU5MTY0NDkwYTk2MmJiZjE4NTEwYWFlNDVfMS02LTEtMS01NjI3Mw_33ff443a-9c56-45fe-91c5-45d64602325e"
      unitRef="number">0.0125</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i95314992cba74415bf8a5e55ef8ed51f_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RhYmxlOjQ4ZWI3M2U1OTE2NDQ5MGE5NjJiYmYxODUxMGFhZTQ1L3RhYmxlcmFuZ2U6NDhlYjczZTU5MTY0NDkwYTk2MmJiZjE4NTEwYWFlNDVfMS02LTEtMS01NjI3Mw_92db7419-bdee-430f-b386-088b81fdeca5"
      unitRef="number">0.0125</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="ib072bc8486d345de939a4612afbe4926_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RhYmxlOjQ4ZWI3M2U1OTE2NDQ5MGE5NjJiYmYxODUxMGFhZTQ1L3RhYmxlcmFuZ2U6NDhlYjczZTU5MTY0NDkwYTk2MmJiZjE4NTEwYWFlNDVfMS0xMC0xLTEtNTYyNzM_f91e6f2e-e1c9-4872-9075-357694e90dd0"
      unitRef="number">0.0025</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:LineOfCreditFacilityCommitmentFeePercentage
      contextRef="iaf5fa76a586a42a9837b0bbfc45ebc5a_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RhYmxlOjQ4ZWI3M2U1OTE2NDQ5MGE5NjJiYmYxODUxMGFhZTQ1L3RhYmxlcmFuZ2U6NDhlYjczZTU5MTY0NDkwYTk2MmJiZjE4NTEwYWFlNDVfMi00LTEtMS01NjI3Mw_bebedfbd-d8d1-47a9-a094-38b19edd5998"
      unitRef="number">0.00175</us-gaap:LineOfCreditFacilityCommitmentFeePercentage>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="ie458f29ac6ac4d3e9bf7a04814c6f838_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RhYmxlOjQ4ZWI3M2U1OTE2NDQ5MGE5NjJiYmYxODUxMGFhZTQ1L3RhYmxlcmFuZ2U6NDhlYjczZTU5MTY0NDkwYTk2MmJiZjE4NTEwYWFlNDVfMi02LTEtMS01NjI3Mw_6c9a0011-760e-4e3b-bd04-1a7e9afe8dc7"
      unitRef="number">0.0150</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i25e556de6c10485ebc642136e7ef0ac9_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RhYmxlOjQ4ZWI3M2U1OTE2NDQ5MGE5NjJiYmYxODUxMGFhZTQ1L3RhYmxlcmFuZ2U6NDhlYjczZTU5MTY0NDkwYTk2MmJiZjE4NTEwYWFlNDVfMi02LTEtMS01NjI3Mw_70d5d309-faf0-4a01-a0ad-a63a7125f411"
      unitRef="number">0.0150</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i53599461c9d44aae9ea9180112147a3f_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RhYmxlOjQ4ZWI3M2U1OTE2NDQ5MGE5NjJiYmYxODUxMGFhZTQ1L3RhYmxlcmFuZ2U6NDhlYjczZTU5MTY0NDkwYTk2MmJiZjE4NTEwYWFlNDVfMi0xMC0xLTEtNTYyNzM_3d670293-d568-4de2-9fe3-983b0c8a4618"
      unitRef="number">0.0050</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:LineOfCreditFacilityCommitmentFeePercentage
      contextRef="ib803c631b07a4ccdad2e43c85ebe9d2f_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RhYmxlOjQ4ZWI3M2U1OTE2NDQ5MGE5NjJiYmYxODUxMGFhZTQ1L3RhYmxlcmFuZ2U6NDhlYjczZTU5MTY0NDkwYTk2MmJiZjE4NTEwYWFlNDVfMy00LTEtMS01NjI3Mw_a895c7cd-e385-4df8-ba3f-f486871f8475"
      unitRef="number">0.00200</us-gaap:LineOfCreditFacilityCommitmentFeePercentage>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i73086dc785de483aa9ce4972eab0fcbc_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RhYmxlOjQ4ZWI3M2U1OTE2NDQ5MGE5NjJiYmYxODUxMGFhZTQ1L3RhYmxlcmFuZ2U6NDhlYjczZTU5MTY0NDkwYTk2MmJiZjE4NTEwYWFlNDVfMy02LTEtMS01NjI3Mw_8ee79ecf-62a5-474e-87f6-92faeb322905"
      unitRef="number">0.0175</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i6dca882f4fd547cb98959f8942891d19_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RhYmxlOjQ4ZWI3M2U1OTE2NDQ5MGE5NjJiYmYxODUxMGFhZTQ1L3RhYmxlcmFuZ2U6NDhlYjczZTU5MTY0NDkwYTk2MmJiZjE4NTEwYWFlNDVfMy02LTEtMS01NjI3Mw_cf378c28-b8ef-47e9-a660-dc97a9b55ae6"
      unitRef="number">0.0175</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i593bc7388447404798a469cfc90a9f98_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RhYmxlOjQ4ZWI3M2U1OTE2NDQ5MGE5NjJiYmYxODUxMGFhZTQ1L3RhYmxlcmFuZ2U6NDhlYjczZTU5MTY0NDkwYTk2MmJiZjE4NTEwYWFlNDVfMy0xMC0xLTEtNTYyNzM_a147ae64-9132-485c-a32c-b2b1b3294209"
      unitRef="number">0.0075</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:LineOfCreditFacilityCommitmentFeePercentage
      contextRef="i53c04ebfdfe44a69b4ffec3babd5a91a_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RhYmxlOjQ4ZWI3M2U1OTE2NDQ5MGE5NjJiYmYxODUxMGFhZTQ1L3RhYmxlcmFuZ2U6NDhlYjczZTU5MTY0NDkwYTk2MmJiZjE4NTEwYWFlNDVfNC00LTEtMS01NjI3Mw_cf5f8057-4c4d-4510-87f1-80694bf7caba"
      unitRef="number">0.00250</us-gaap:LineOfCreditFacilityCommitmentFeePercentage>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i0a310ca043404083a9be8a4413b7fd37_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RhYmxlOjQ4ZWI3M2U1OTE2NDQ5MGE5NjJiYmYxODUxMGFhZTQ1L3RhYmxlcmFuZ2U6NDhlYjczZTU5MTY0NDkwYTk2MmJiZjE4NTEwYWFlNDVfNC02LTEtMS01NjI3Mw_215f600f-8ca7-4827-9fc8-0fb7a4382fc1"
      unitRef="number">0.0200</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="ic728513d3fe5423f928c34864f9cf367_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RhYmxlOjQ4ZWI3M2U1OTE2NDQ5MGE5NjJiYmYxODUxMGFhZTQ1L3RhYmxlcmFuZ2U6NDhlYjczZTU5MTY0NDkwYTk2MmJiZjE4NTEwYWFlNDVfNC02LTEtMS01NjI3Mw_63b480a5-9974-4c3b-ade2-5132191fe215"
      unitRef="number">0.0200</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i33f4cb707d524bd7bce10a5bec1d9b28_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RhYmxlOjQ4ZWI3M2U1OTE2NDQ5MGE5NjJiYmYxODUxMGFhZTQ1L3RhYmxlcmFuZ2U6NDhlYjczZTU5MTY0NDkwYTk2MmJiZjE4NTEwYWFlNDVfNC0xMC0xLTEtNTYyNzM_424a2f9d-dd4c-457b-8ddb-27babac2a0f0"
      unitRef="number">0.0100</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <nx:DebtInstrumentDebtDefaultInterestAccrualRate
      contextRef="i82066e9bb6e84d34ad9d6c1354c09210_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RleHRyZWdpb246ODRmMDYxNDAxNmUzNDY2MmFlMDIzZGZiODQxYTg2NmRfMTM5NQ_1acf4b03-f835-4326-af22-26425de37b87"
      unitRef="number">0.02</nx:DebtInstrumentDebtDefaultInterestAccrualRate>
    <nx:MinimumIncrementalBorrowing
      contextRef="i19c549a9d8f24fe1a812664e21a27332_I20230430"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RleHRyZWdpb246ODRmMDYxNDAxNmUzNDY2MmFlMDIzZGZiODQxYTg2NmRfMTU1OQ_2c5ccc61-9420-423f-856e-79b8aac7ba8d"
      unitRef="usd">10000000</nx:MinimumIncrementalBorrowing>
    <nx:MaximumIncrementalBorrowing
      contextRef="i19c549a9d8f24fe1a812664e21a27332_I20230430"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RleHRyZWdpb246ODRmMDYxNDAxNmUzNDY2MmFlMDIzZGZiODQxYTg2NmRfMTU5Mg_03c475e9-feda-4ab0-94a6-1d5616db84bf"
      unitRef="usd">150000000</nx:MaximumIncrementalBorrowing>
    <us-gaap:DebtInstrumentUnusedBorrowingCapacityAmount
      contextRef="i78d5d6a405894a608f4c14980fc8feca_I20230430"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RleHRyZWdpb246ODRmMDYxNDAxNmUzNDY2MmFlMDIzZGZiODQxYTg2NmRfMTc0Nw_26ea7e2a-7b05-4247-aad9-307086fe7da4"
      unitRef="usd">15000000</us-gaap:DebtInstrumentUnusedBorrowingCapacityAmount>
    <nx:DebtInstrumentRequiredCoverageRatio
      contextRef="i82066e9bb6e84d34ad9d6c1354c09210_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RleHRyZWdpb246ODRmMDYxNDAxNmUzNDY2MmFlMDIzZGZiODQxYTg2NmRfMjAzMg_0c367557-e610-4ab8-b25a-67514b94988a"
      unitRef="number">0.0300</nx:DebtInstrumentRequiredCoverageRatio>
    <nx:DebtInstrumentRequiredLeverageRatio
      contextRef="i82066e9bb6e84d34ad9d6c1354c09210_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RleHRyZWdpb246ODRmMDYxNDAxNmUzNDY2MmFlMDIzZGZiODQxYTg2NmRfMjE5Mg_873af601-94b2-482a-ad9a-5eb0e30f4040"
      unitRef="number">0.0325</nx:DebtInstrumentRequiredLeverageRatio>
    <nx:DebtInstrumentLimitationonAnnualDividend
      contextRef="i82066e9bb6e84d34ad9d6c1354c09210_D20221101-20230430"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RleHRyZWdpb246ODRmMDYxNDAxNmUzNDY2MmFlMDIzZGZiODQxYTg2NmRfMjQ5Mg_06414b29-a425-4d08-8b9d-be9e2bcba671"
      unitRef="usd">25000000</nx:DebtInstrumentLimitationonAnnualDividend>
    <nx:DebtInstrumentLeverageRatioThresholdforLimitationstoTakeEffect
      contextRef="i82066e9bb6e84d34ad9d6c1354c09210_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RleHRyZWdpb246ODRmMDYxNDAxNmUzNDY2MmFlMDIzZGZiODQxYTg2NmRfMjY5NQ_3eccaec9-525b-4dc8-a42c-4c147571b9e1"
      unitRef="number">2.75</nx:DebtInstrumentLeverageRatioThresholdforLimitationstoTakeEffect>
    <nx:DebtInstrumentLiquidityThresholdforLimitationstoTakeEffect
      contextRef="i82066e9bb6e84d34ad9d6c1354c09210_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RleHRyZWdpb246ODRmMDYxNDAxNmUzNDY2MmFlMDIzZGZiODQxYTg2NmRfMjczOA_43155db3-4797-4fca-bde0-5b2435c1c32b"
      unitRef="usd">25000000</nx:DebtInstrumentLiquidityThresholdforLimitationstoTakeEffect>
    <us-gaap:LineOfCredit
      contextRef="i7a9843bfedd546948e6ed3913aabfd30_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RleHRyZWdpb246ODRmMDYxNDAxNmUzNDY2MmFlMDIzZGZiODQxYTg2NmRfMjg4OA_51bfff9f-a396-4460-a070-a837393de24d"
      unitRef="usd">80000000</us-gaap:LineOfCredit>
    <us-gaap:LettersOfCreditOutstandingAmount
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RleHRyZWdpb246ODRmMDYxNDAxNmUzNDY2MmFlMDIzZGZiODQxYTg2NmRfMjk5NQ_32c30c81-9ce7-4881-8f67-e7c8890e2d6e"
      unitRef="usd">5100000</us-gaap:LettersOfCreditOutstandingAmount>
    <us-gaap:OtherLongTermDebt
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RleHRyZWdpb246ODRmMDYxNDAxNmUzNDY2MmFlMDIzZGZiODQxYTg2NmRfMzAzNQ_3c94fd14-a654-41a8-a5f3-1b97ebb85bb3"
      unitRef="usd">55600000</us-gaap:OtherLongTermDebt>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RleHRyZWdpb246ODRmMDYxNDAxNmUzNDY2MmFlMDIzZGZiODQxYTg2NmRfMzEwNA_32d01163-c882-42d5-9e98-756fe20504ea"
      unitRef="usd">239900000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i48af00ff91f745caaf06702dc2ae2338_I20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RleHRyZWdpb246ODRmMDYxNDAxNmUzNDY2MmFlMDIzZGZiODQxYTg2NmRfMzIyNg_56fe29a9-8188-453c-8a12-850ae0f4a11a"
      unitRef="number">0.0633</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateDuringPeriod
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RleHRyZWdpb246ODRmMDYxNDAxNmUzNDY2MmFlMDIzZGZiODQxYTg2NmRfMzM0NA_71cc1fa0-c830-4757-b72a-a46bd3c49b0a"
      unitRef="number">0.0571</us-gaap:DebtInstrumentInterestRateDuringPeriod>
    <us-gaap:DebtInstrumentInterestRateDuringPeriod
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81Mi9mcmFnOjg0ZjA2MTQwMTZlMzQ2NjJhZTAyM2RmYjg0MWE4NjZkL3RleHRyZWdpb246ODRmMDYxNDAxNmUzNDY2MmFlMDIzZGZiODQxYTg2NmRfMzM1MQ_f0970641-c455-476d-9788-a974ab21a8ed"
      unitRef="number">0.0148</us-gaap:DebtInstrumentInterestRateDuringPeriod>
    <us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81OC9mcmFnOjI5MWZjZjAwZjY0NTQxMzJhNzExMWU0ZDU5ZmE1MDBhL3RleHRyZWdpb246MjkxZmNmMDBmNjQ1NDEzMmE3MTExZTRkNTlmYTUwMGFfMTcwOQ_e608207a-51b3-4710-9632-e67881ca83ed">Retirement Plans&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Pension Plan &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our non-contributory, single employer defined benefit pension plan covers certain of our employees in the U.S. The net periodic pension cost for this plan for the three and six months ended April&#160;30, 2023 and 2022 was as follows (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.830%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:31.148%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.468%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.539%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.468%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.539%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.468%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.539%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.731%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Service cost&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;96&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;214&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;192&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;430&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;389&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;201&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;779&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;403&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected return on plan assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(367)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(497)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(733)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(995)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of net loss&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net periodic pension benefit&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;129&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(80)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;259&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(159)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;the six months ended April&#160;30, 2022&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, we made no&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; contributions to fund our plan. &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During fiscal&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2023&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;,&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; we do not expect to need to make a contribution to the pension plan to maintain targeted funding levels and meet minimum contribution requirements. During the year ended October 31, 2022, we notified participants that our pension plan will be terminated effective November 1, 2022, with final settlement expected to occur in the next twelve months, depending upon the timing of I.R.S. approvals. During the three months ended January 31, 2023, we reclassified the pension obligation of $3.9&#160;million from long-term liabilities under the caption &#x201c;Deferred pension benefits&#x201d; to current liabilities under the caption &#x201c;Accrued liabilities&#x201d; in the accompanying condensed consolidated balance sheets. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Other Plans&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We also have a supplemental benefit plan covering certain executive officers and key employees and a non-qualified deferred compensation plan covering members of the Board of Directors and certain &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;key employees. As of April&#160;30, 2023 and October&#160;31, 2022, our liability under the supplemental benefit plan was approximately $2.0 million and $1.9 million, respectively. As of April&#160;30, 2023 and October&#160;31, 2022, the liability associated with the deferred compensation plan was approximately $3.4 million and $3.3&#160;million, respectively. We record the current portion of liabilities associated with these plans under the caption &#x201c;Accrued liabilities,&#x201d; and the long-term portion under the caption &#x201c;Other liabilities&#x201d; in the accompanying condensed consolidated balance sheets.&lt;/span&gt;&lt;/div&gt;</us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock>
    <us-gaap:ScheduleOfNetBenefitCostsTableTextBlock
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81OC9mcmFnOjI5MWZjZjAwZjY0NTQxMzJhNzExMWU0ZDU5ZmE1MDBhL3RleHRyZWdpb246MjkxZmNmMDBmNjQ1NDEzMmE3MTExZTRkNTlmYTUwMGFfMTcyNw_23e8cc9d-b2dd-4b66-82e8-c5c6c530a826">The net periodic pension cost for this plan for the three and six months ended April&#160;30, 2023 and 2022 was as follows (in thousands): &lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.830%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:31.148%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.468%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.539%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.468%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.539%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.468%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.539%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.731%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Service cost&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;96&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;214&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;192&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;430&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;389&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;201&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;779&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;403&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected return on plan assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(367)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(497)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(733)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(995)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of net loss&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net periodic pension benefit&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;129&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(80)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;259&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(159)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfNetBenefitCostsTableTextBlock>
    <us-gaap:DefinedBenefitPlanServiceCost
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81OC9mcmFnOjI5MWZjZjAwZjY0NTQxMzJhNzExMWU0ZDU5ZmE1MDBhL3RhYmxlOjc1YTUyY2VlZmY1MTQzYmE5N2NhMzE5ODAzNTAzNjEwL3RhYmxlcmFuZ2U6NzVhNTJjZWVmZjUxNDNiYTk3Y2EzMTk4MDM1MDM2MTBfMy0xLTEtMS01NjI3Mw_2e9ad827-dd48-4ceb-a697-638f6840669a"
      unitRef="usd">96000</us-gaap:DefinedBenefitPlanServiceCost>
    <us-gaap:DefinedBenefitPlanServiceCost
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81OC9mcmFnOjI5MWZjZjAwZjY0NTQxMzJhNzExMWU0ZDU5ZmE1MDBhL3RhYmxlOjc1YTUyY2VlZmY1MTQzYmE5N2NhMzE5ODAzNTAzNjEwL3RhYmxlcmFuZ2U6NzVhNTJjZWVmZjUxNDNiYTk3Y2EzMTk4MDM1MDM2MTBfMy0zLTEtMS01NjI3Mw_70610dda-546c-4e05-a4b1-c4bf47e7baa9"
      unitRef="usd">214000</us-gaap:DefinedBenefitPlanServiceCost>
    <us-gaap:DefinedBenefitPlanServiceCost
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81OC9mcmFnOjI5MWZjZjAwZjY0NTQxMzJhNzExMWU0ZDU5ZmE1MDBhL3RhYmxlOjc1YTUyY2VlZmY1MTQzYmE5N2NhMzE5ODAzNTAzNjEwL3RhYmxlcmFuZ2U6NzVhNTJjZWVmZjUxNDNiYTk3Y2EzMTk4MDM1MDM2MTBfMy01LTEtMS01NjI3Mw_b13fed3d-5be8-4427-a083-ff7375bbc1fd"
      unitRef="usd">192000</us-gaap:DefinedBenefitPlanServiceCost>
    <us-gaap:DefinedBenefitPlanServiceCost
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81OC9mcmFnOjI5MWZjZjAwZjY0NTQxMzJhNzExMWU0ZDU5ZmE1MDBhL3RhYmxlOjc1YTUyY2VlZmY1MTQzYmE5N2NhMzE5ODAzNTAzNjEwL3RhYmxlcmFuZ2U6NzVhNTJjZWVmZjUxNDNiYTk3Y2EzMTk4MDM1MDM2MTBfMy03LTEtMS01NjI3Mw_8cf5416a-0542-4701-85eb-bf389380a8c6"
      unitRef="usd">430000</us-gaap:DefinedBenefitPlanServiceCost>
    <us-gaap:DefinedBenefitPlanInterestCost
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81OC9mcmFnOjI5MWZjZjAwZjY0NTQxMzJhNzExMWU0ZDU5ZmE1MDBhL3RhYmxlOjc1YTUyY2VlZmY1MTQzYmE5N2NhMzE5ODAzNTAzNjEwL3RhYmxlcmFuZ2U6NzVhNTJjZWVmZjUxNDNiYTk3Y2EzMTk4MDM1MDM2MTBfNC0xLTEtMS01NjI3Mw_c21f18ad-853b-4ac6-833f-bfabf5cb171e"
      unitRef="usd">389000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanInterestCost
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81OC9mcmFnOjI5MWZjZjAwZjY0NTQxMzJhNzExMWU0ZDU5ZmE1MDBhL3RhYmxlOjc1YTUyY2VlZmY1MTQzYmE5N2NhMzE5ODAzNTAzNjEwL3RhYmxlcmFuZ2U6NzVhNTJjZWVmZjUxNDNiYTk3Y2EzMTk4MDM1MDM2MTBfNC0zLTEtMS01NjI3Mw_18b2f5d5-244a-47f9-8ee0-8f40de2efea8"
      unitRef="usd">201000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanInterestCost
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81OC9mcmFnOjI5MWZjZjAwZjY0NTQxMzJhNzExMWU0ZDU5ZmE1MDBhL3RhYmxlOjc1YTUyY2VlZmY1MTQzYmE5N2NhMzE5ODAzNTAzNjEwL3RhYmxlcmFuZ2U6NzVhNTJjZWVmZjUxNDNiYTk3Y2EzMTk4MDM1MDM2MTBfNC01LTEtMS01NjI3Mw_2e2f6ad1-6781-4d11-ba68-733e9c57939f"
      unitRef="usd">779000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanInterestCost
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81OC9mcmFnOjI5MWZjZjAwZjY0NTQxMzJhNzExMWU0ZDU5ZmE1MDBhL3RhYmxlOjc1YTUyY2VlZmY1MTQzYmE5N2NhMzE5ODAzNTAzNjEwL3RhYmxlcmFuZ2U6NzVhNTJjZWVmZjUxNDNiYTk3Y2EzMTk4MDM1MDM2MTBfNC03LTEtMS01NjI3Mw_fb10093d-6e37-4952-984e-df320cb44165"
      unitRef="usd">403000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81OC9mcmFnOjI5MWZjZjAwZjY0NTQxMzJhNzExMWU0ZDU5ZmE1MDBhL3RhYmxlOjc1YTUyY2VlZmY1MTQzYmE5N2NhMzE5ODAzNTAzNjEwL3RhYmxlcmFuZ2U6NzVhNTJjZWVmZjUxNDNiYTk3Y2EzMTk4MDM1MDM2MTBfNS0xLTEtMS01NjI3Mw_de64498c-9565-44d1-8ae1-f1976c0476e1"
      unitRef="usd">367000</us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets>
    <us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81OC9mcmFnOjI5MWZjZjAwZjY0NTQxMzJhNzExMWU0ZDU5ZmE1MDBhL3RhYmxlOjc1YTUyY2VlZmY1MTQzYmE5N2NhMzE5ODAzNTAzNjEwL3RhYmxlcmFuZ2U6NzVhNTJjZWVmZjUxNDNiYTk3Y2EzMTk4MDM1MDM2MTBfNS0zLTEtMS01NjI3Mw_6791add3-2de2-4ac6-a8ff-220f9c978695"
      unitRef="usd">497000</us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets>
    <us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81OC9mcmFnOjI5MWZjZjAwZjY0NTQxMzJhNzExMWU0ZDU5ZmE1MDBhL3RhYmxlOjc1YTUyY2VlZmY1MTQzYmE5N2NhMzE5ODAzNTAzNjEwL3RhYmxlcmFuZ2U6NzVhNTJjZWVmZjUxNDNiYTk3Y2EzMTk4MDM1MDM2MTBfNS01LTEtMS01NjI3Mw_c1901259-170a-4fb3-a82e-afae0017202b"
      unitRef="usd">733000</us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets>
    <us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81OC9mcmFnOjI5MWZjZjAwZjY0NTQxMzJhNzExMWU0ZDU5ZmE1MDBhL3RhYmxlOjc1YTUyY2VlZmY1MTQzYmE5N2NhMzE5ODAzNTAzNjEwL3RhYmxlcmFuZ2U6NzVhNTJjZWVmZjUxNDNiYTk3Y2EzMTk4MDM1MDM2MTBfNS03LTEtMS01NjI3Mw_e49fcaee-3f3f-40b8-afcc-e60a2b65bacf"
      unitRef="usd">995000</us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets>
    <us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81OC9mcmFnOjI5MWZjZjAwZjY0NTQxMzJhNzExMWU0ZDU5ZmE1MDBhL3RhYmxlOjc1YTUyY2VlZmY1MTQzYmE5N2NhMzE5ODAzNTAzNjEwL3RhYmxlcmFuZ2U6NzVhNTJjZWVmZjUxNDNiYTk3Y2EzMTk4MDM1MDM2MTBfNi0xLTEtMS01NjI3Mw_b4d25ade-9847-471b-8e1c-a106844dd5d7"
      unitRef="usd">-11000</us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses>
    <us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81OC9mcmFnOjI5MWZjZjAwZjY0NTQxMzJhNzExMWU0ZDU5ZmE1MDBhL3RhYmxlOjc1YTUyY2VlZmY1MTQzYmE5N2NhMzE5ODAzNTAzNjEwL3RhYmxlcmFuZ2U6NzVhNTJjZWVmZjUxNDNiYTk3Y2EzMTk4MDM1MDM2MTBfNi0zLTEtMS01NjI3Mw_0fc85b05-955f-41b3-8fdc-8a853ff7130b"
      unitRef="usd">-2000</us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses>
    <us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81OC9mcmFnOjI5MWZjZjAwZjY0NTQxMzJhNzExMWU0ZDU5ZmE1MDBhL3RhYmxlOjc1YTUyY2VlZmY1MTQzYmE5N2NhMzE5ODAzNTAzNjEwL3RhYmxlcmFuZ2U6NzVhNTJjZWVmZjUxNDNiYTk3Y2EzMTk4MDM1MDM2MTBfNi01LTEtMS01NjI3Mw_7465dbed-b13e-4095-9193-eb4d79bb5ffd"
      unitRef="usd">-21000</us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses>
    <us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81OC9mcmFnOjI5MWZjZjAwZjY0NTQxMzJhNzExMWU0ZDU5ZmE1MDBhL3RhYmxlOjc1YTUyY2VlZmY1MTQzYmE5N2NhMzE5ODAzNTAzNjEwL3RhYmxlcmFuZ2U6NzVhNTJjZWVmZjUxNDNiYTk3Y2EzMTk4MDM1MDM2MTBfNi03LTEtMS01NjI3Mw_f95bd4f0-3023-4431-9b0c-29339e92edf1"
      unitRef="usd">-3000</us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81OC9mcmFnOjI5MWZjZjAwZjY0NTQxMzJhNzExMWU0ZDU5ZmE1MDBhL3RhYmxlOjc1YTUyY2VlZmY1MTQzYmE5N2NhMzE5ODAzNTAzNjEwL3RhYmxlcmFuZ2U6NzVhNTJjZWVmZjUxNDNiYTk3Y2EzMTk4MDM1MDM2MTBfNy0xLTEtMS01NjI3Mw_604ab566-9045-4666-887a-d33e15d30889"
      unitRef="usd">129000</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81OC9mcmFnOjI5MWZjZjAwZjY0NTQxMzJhNzExMWU0ZDU5ZmE1MDBhL3RhYmxlOjc1YTUyY2VlZmY1MTQzYmE5N2NhMzE5ODAzNTAzNjEwL3RhYmxlcmFuZ2U6NzVhNTJjZWVmZjUxNDNiYTk3Y2EzMTk4MDM1MDM2MTBfNy0zLTEtMS01NjI3Mw_d62e0246-f498-412f-8f68-d8415adef206"
      unitRef="usd">-80000</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81OC9mcmFnOjI5MWZjZjAwZjY0NTQxMzJhNzExMWU0ZDU5ZmE1MDBhL3RhYmxlOjc1YTUyY2VlZmY1MTQzYmE5N2NhMzE5ODAzNTAzNjEwL3RhYmxlcmFuZ2U6NzVhNTJjZWVmZjUxNDNiYTk3Y2EzMTk4MDM1MDM2MTBfNy01LTEtMS01NjI3Mw_b68a01ff-3fcc-4dea-a2e7-c58c764b8a37"
      unitRef="usd">259000</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81OC9mcmFnOjI5MWZjZjAwZjY0NTQxMzJhNzExMWU0ZDU5ZmE1MDBhL3RhYmxlOjc1YTUyY2VlZmY1MTQzYmE5N2NhMzE5ODAzNTAzNjEwL3RhYmxlcmFuZ2U6NzVhNTJjZWVmZjUxNDNiYTk3Y2EzMTk4MDM1MDM2MTBfNy03LTEtMS01NjI3Mw_0003738a-5fb6-4f25-8e95-f887196725fd"
      unitRef="usd">-159000</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost>
    <us-gaap:DefinedBenefitPlanContributionsByEmployer
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81OC9mcmFnOjI5MWZjZjAwZjY0NTQxMzJhNzExMWU0ZDU5ZmE1MDBhL3RleHRyZWdpb246MjkxZmNmMDBmNjQ1NDEzMmE3MTExZTRkNTlmYTUwMGFfMzAx_dfc9934e-1e1c-4c33-9287-9b908e03bb81"
      unitRef="usd">0</us-gaap:DefinedBenefitPlanContributionsByEmployer>
    <us-gaap:DefinedBenefitPensionPlanCurrentAndNoncurrentLiabilities
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81OC9mcmFnOjI5MWZjZjAwZjY0NTQxMzJhNzExMWU0ZDU5ZmE1MDBhL3RleHRyZWdpb246MjkxZmNmMDBmNjQ1NDEzMmE3MTExZTRkNTlmYTUwMGFfODQw_a15da461-3cc2-488a-84a7-5be8343db9d0"
      unitRef="usd">3900000</us-gaap:DefinedBenefitPensionPlanCurrentAndNoncurrentLiabilities>
    <us-gaap:OtherDeferredCompensationArrangementsLiabilityCurrentAndNoncurrent
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81OC9mcmFnOjI5MWZjZjAwZjY0NTQxMzJhNzExMWU0ZDU5ZmE1MDBhL3RleHRyZWdpb246MjkxZmNmMDBmNjQ1NDEzMmE3MTExZTRkNTlmYTUwMGFfNTQ5NzU1ODE1NjIx_65629122-7b5d-40c6-bb8c-acbc87f2f69c"
      unitRef="usd">2000000</us-gaap:OtherDeferredCompensationArrangementsLiabilityCurrentAndNoncurrent>
    <us-gaap:OtherDeferredCompensationArrangementsLiabilityCurrentAndNoncurrent
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81OC9mcmFnOjI5MWZjZjAwZjY0NTQxMzJhNzExMWU0ZDU5ZmE1MDBhL3RleHRyZWdpb246MjkxZmNmMDBmNjQ1NDEzMmE3MTExZTRkNTlmYTUwMGFfMTM0OA_d618eef9-02b2-4359-8499-c3a6c166df98"
      unitRef="usd">1900000</us-gaap:OtherDeferredCompensationArrangementsLiabilityCurrentAndNoncurrent>
    <us-gaap:DeferredCompensationLiabilityCurrentAndNoncurrent
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81OC9mcmFnOjI5MWZjZjAwZjY0NTQxMzJhNzExMWU0ZDU5ZmE1MDBhL3RleHRyZWdpb246MjkxZmNmMDBmNjQ1NDEzMmE3MTExZTRkNTlmYTUwMGFfMTQ0OA_db585d01-70ab-4484-a034-9f49fbb5484f"
      unitRef="usd">3400000</us-gaap:DeferredCompensationLiabilityCurrentAndNoncurrent>
    <us-gaap:DeferredCompensationLiabilityCurrentAndNoncurrent
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF81OC9mcmFnOjI5MWZjZjAwZjY0NTQxMzJhNzExMWU0ZDU5ZmE1MDBhL3RleHRyZWdpb246MjkxZmNmMDBmNjQ1NDEzMmE3MTExZTRkNTlmYTUwMGFfMTQ1NQ_023d77e4-2994-4934-83c8-47cec901a208"
      unitRef="usd">3300000</us-gaap:DeferredCompensationLiabilityCurrentAndNoncurrent>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF82MS9mcmFnOjhjOGE4YjI2NDg5MDQ1MWViMmE0ZjI4MWViZTc2OGRmL3RleHRyZWdpb246OGM4YThiMjY0ODkwNDUxZWIyYTRmMjgxZWJlNzY4ZGZfMjMyMQ_ed6824e6-8d30-4427-bc63-7f0f9703aa2c">Income Taxes &lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;To determine our income tax expense or benefit for interim periods, consistent with accounting standards, we apply the estimated annual effective income tax rate t&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;o year-to-date results, plus any applicable discrete items, which are recorded in the period in which they occur. Discrete items include, among others, such events as changes in estimates due to the finalization of tax returns, tax audit settlements, expiration of statutes of limitations, tax benefits on equity compensation, and increase or decrease in valuation allowances on deferred tax assets. Our annual effective tax rates from continuing operations for the six months ended April&#160;30, 2023 and 2022 were 19.74% and 25.20%, respectively. The difference between our effective income tax rate and the U.S. federal statutory rate of 21% principally results from discrete tax items, U.S. state tax, non-U.S. tax rate differential and other permanent differences. The primary discrete items affecting the 2023 effective rate was a benefit of $0.2 million related to the rate change on deferred taxes. The primary discrete items affecting the 2022 effective rate were the charge of $0.2 million related to the vesting or exercise of equity-based compensation awards and a benefit of $1.0 million for the true-up of our accruals and related deferred taxes from prior year filings.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of April&#160;30, 2023, our liability for uncertain tax positions (UTP) of $1.4 million relates to certain U.S. federal and state tax items regarding the interpretation of tax laws and regulations, including a minimal amount of interest and penalties. We include all interest and penalties related to uncertain tax benefits within our income tax provision account. To the extent interest and penalties are not assessed with respect to uncertain tax positions or the uncertainty of deductions in the future, amounts accrued will be reduced and reflected as a reduction of the overall income tax provision.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of April 30, 2023, we have an income tax receivable of $0.6 million included in current assets under the caption &#x201c;Prepaid and other current assets&#x201d; in the accompanying condensed consolidated balance sheets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We evaluate the likelihood of realization of our deferred tax assets by considering both positive and negative evidence.  We maintain a valuation allowance for certain state net operating losses which totaled $0.5 million as of April&#160;30, 2023 and October&#160;31, 2022, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On August 16, 2022 the Inflation Reduction Act of 2022 was signed into law. We are evaluating the regulations but do not believe they will result in a material impact to our consolidated financial statements.&lt;/span&gt;&lt;/div&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF82MS9mcmFnOjhjOGE4YjI2NDg5MDQ1MWViMmE0ZjI4MWViZTc2OGRmL3RleHRyZWdpb246OGM4YThiMjY0ODkwNDUxZWIyYTRmMjgxZWJlNzY4ZGZfNjc1_a382b5ee-2dc3-4307-9f44-6e9ccc4810d2"
      unitRef="number">0.1974</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF82MS9mcmFnOjhjOGE4YjI2NDg5MDQ1MWViMmE0ZjI4MWViZTc2OGRmL3RleHRyZWdpb246OGM4YThiMjY0ODkwNDUxZWIyYTRmMjgxZWJlNzY4ZGZfNjgy_176b6074-ef92-42b3-a39d-3da683ed7b06"
      unitRef="number">0.2520</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF82MS9mcmFnOjhjOGE4YjI2NDg5MDQ1MWViMmE0ZjI4MWViZTc2OGRmL3RleHRyZWdpb246OGM4YThiMjY0ODkwNDUxZWIyYTRmMjgxZWJlNzY4ZGZfNzky_62c5a7b4-3ce6-462d-a5e3-07c5cd92b2af"
      unitRef="number">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpenseOther
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF82MS9mcmFnOjhjOGE4YjI2NDg5MDQ1MWViMmE0ZjI4MWViZTc2OGRmL3RleHRyZWdpb246OGM4YThiMjY0ODkwNDUxZWIyYTRmMjgxZWJlNzY4ZGZfOTk2_0d0284c3-1d3c-40bc-b9f8-d853d22c732d"
      unitRef="usd">200000</us-gaap:IncomeTaxReconciliationNondeductibleExpenseOther>
    <nx:EffectiveIncomeTaxRateReconciliationVestingOrExerciseOfShareBasedPaymentArrangementAmount
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF82MS9mcmFnOjhjOGE4YjI2NDg5MDQ1MWViMmE0ZjI4MWViZTc2OGRmL3RleHRyZWdpb246OGM4YThiMjY0ODkwNDUxZWIyYTRmMjgxZWJlNzY4ZGZfMTEyNA_11c412b4-d566-4003-b7ba-7070226baa7c"
      unitRef="usd">200000</nx:EffectiveIncomeTaxRateReconciliationVestingOrExerciseOfShareBasedPaymentArrangementAmount>
    <us-gaap:IncomeTaxReconciliationPriorYearIncomeTaxes
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF82MS9mcmFnOjhjOGE4YjI2NDg5MDQ1MWViMmE0ZjI4MWViZTc2OGRmL3RleHRyZWdpb246OGM4YThiMjY0ODkwNDUxZWIyYTRmMjgxZWJlNzY4ZGZfMTIxNQ_cedb7cfe-e22c-4889-b9b4-30ce4d0f87f0"
      unitRef="usd">1000000</us-gaap:IncomeTaxReconciliationPriorYearIncomeTaxes>
    <us-gaap:LiabilityForUncertainTaxPositionsNoncurrent
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF82MS9mcmFnOjhjOGE4YjI2NDg5MDQ1MWViMmE0ZjI4MWViZTc2OGRmL3RleHRyZWdpb246OGM4YThiMjY0ODkwNDUxZWIyYTRmMjgxZWJlNzY4ZGZfMTM2Mw_e86026f4-185f-49fc-bc05-88462ed68083"
      unitRef="usd">1400000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
    <us-gaap:IncomeTaxReceivable
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF82MS9mcmFnOjhjOGE4YjI2NDg5MDQ1MWViMmE0ZjI4MWViZTc2OGRmL3RleHRyZWdpb246OGM4YThiMjY0ODkwNDUxZWIyYTRmMjgxZWJlNzY4ZGZfNTQ5NzU1ODE2NTQ3_952c57cc-4ed6-4236-a159-d5e95316ade8"
      unitRef="usd">600000</us-gaap:IncomeTaxReceivable>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF82MS9mcmFnOjhjOGE4YjI2NDg5MDQ1MWViMmE0ZjI4MWViZTc2OGRmL3RleHRyZWdpb246OGM4YThiMjY0ODkwNDUxZWIyYTRmMjgxZWJlNzY4ZGZfMjA5Mg_764eeb1d-b562-47d9-8147-64f588cb7c82"
      unitRef="usd">500000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF82MS9mcmFnOjhjOGE4YjI2NDg5MDQ1MWViMmE0ZjI4MWViZTc2OGRmL3RleHRyZWdpb246OGM4YThiMjY0ODkwNDUxZWIyYTRmMjgxZWJlNzY4ZGZfMjA5Mg_b9811ec2-586d-40eb-af15-3b2c699585c3"
      unitRef="usd">500000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF82NC9mcmFnOjk0ZmNkMzc3NGQ2NjRiYmVhNTcxNWNhNjQ5OTJiNzNkL3RleHRyZWdpb246OTRmY2QzNzc0ZDY2NGJiZWE1NzE1Y2E2NDk5MmI3M2RfMzI0Ng_236493fe-1ea7-4230-b402-25229481e2a0">Contingencies&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Remediation and Environmental Compliance Costs&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Under applicable state and federal laws, we may be responsible for, among other things, all or part of the costs required to remove or remediate wastes or hazardous substances at locations we, or our predecessors, have owned or operated. From time to time, we also have been alleged to be liable for all or part of the costs incurred to clean up third-party sites where there might have been an alleged improper disposal of hazardous substances. Currently, we are not involved in any such matters.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;From time to time, we incur routine expenses and capital expenditures associated with compliance with existing environmental regulations, including control of air emissions and water discharges, and plant decommissioning costs. We have not incurred any material expenses or capital expenditures related to environmental matters during the past three fiscal years, and do not expect to incur a material amount of such costs in fiscal 2023. While we will continue to have future expenditures related to environmental matters, any such amounts are impossible to reasonably estimate at this time. Based upon our experience to date, we do not believe that our compliance with environmental requirements will have a material adverse effect on our operations, financial condition or cash flows.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Litigation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;From time to time, we, along with our subsidiaries, are involved in various litigation matters arising in the ordinary course of our business, including those arising from or related to contractual matters, commercial disputes, intellectual property, personal injury, environmental matters, product performance or warranties, product liability, insurance coverage and personnel and employment disputes. We regularly review with legal counsel the status of all ongoing proceedings, and we maintain insurance against these risks to the extent deemed prudent by our management and to the extent such insurance is available. However, there is no assurance that we will prevail in these matters or that our insurers will accept full coverage of these matters, and we could, in the future, incur judgments, enter into settlements of claims, or revise our expectations regarding the outcome or insurability of matters we face, which could materially impact our results of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have been and are currently party to multiple claims, some of which are in litigation, relating to alleged defects in a commercial sealant product that was manufactured and sold during the 2000&#x2019;s. While we believe that our product was not defective and that we would prevail in these commercial sealant product claims if taken to trial, the timing, ultimate resolution and potential impact of these claims is not currently determinable. Nevertheless, after taking into account all currently available information, including our defenses, the advice of our counsel, and the extent and currently-expected availability of our existing insurance coverage, we believe that the eventual outcome of these commercial sealant claims will not have a material adverse effect on our overall financial condition, results of operations or cash flows, and we have not recorded any accrual with regard to these claims.&lt;/span&gt;&lt;/div&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:FairValueDisclosuresTextBlock
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF82Ny9mcmFnOjQ0MTE0ZGViOWE4ZDQzMGVhYjlkYzJhOWEyN2E1YjNiL3RleHRyZWdpb246NDQxMTRkZWI5YThkNDMwZWFiOWRjMmE5YTI3YTViM2JfMjYzOA_efba963f-7f44-4321-9dd3-2b6c09b887d3">Fair Value Measurement of Assets and Liabilities&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Fair value is defined as the price 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. The fair value hierarchy distinguishes between (1) market participant assumptions developed based on market data obtained from independent sources (observable inputs) and (2) an entity's own assumptions about market data developed based on the best information available in the circumstances (unobservable inputs). The fair value hierarchy consists of three broad levels, which gives the highest priority to Level 1 and the lowest priority to Level 3. The three levels of the fair value hierarchy are described below:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;padding-left:27pt;text-align:justify;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:5.5pt"&gt;Level 1 - Unadjusted quoted prices in active markets that are accessible at the measurement date for identical, unrestricted assets or liabilities.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;padding-left:27pt;text-align:justify;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:5.5pt"&gt;Level 2 - Inputs other than quoted prices included within Level 1 that are observable for the asset or liability either directly or indirectly including quoted prices for similar assets or liabilities in active markets; quoted prices for identical or similar assets or liabilities in markets that are not active; inputs other than quoted prices that are observable for the asset or liability (e.g., interest rates) and inputs that are derived principally from or corroborated by observable market data by correlation or other means.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;padding-left:27pt;text-align:justify;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:5.5pt"&gt;Level 3 - Inputs that are both significant to the fair value measurement and unobservable.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Carrying amounts reported on the balance sheet for cash, cash equivalents, accounts receivable and accounts payable approximate fair value due to the short-term maturity of these instruments. Our outstanding debt is variable rate debt that re-prices frequently, thereby limiting our exposure to significant change in interest rate risk. As a result, the fair value of our debt instrument approximates carrying value at April&#160;30, 2023, and October&#160;31, 2022 (Level 2 measurement).&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our performance share awards are marked-to-market on a quarterly basis during a three-year vesting period based on market data (Level 2 measurement). For further information, refer to Note 11, &#x201c;Stock-Based Compensation - Performance Share Awards.&#x201d; &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We used recognized valuation techniques to determine the preliminary fair value of the assets and liabilities, including the excess earnings method for customer relationships and relief from royalty method for trade names and other technology with a discount rate that reflects the risk of the expected future cash flows&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; (Level 3 measurement). For further information, refer to Note 2, &#x201c;Acquisition.&#x201d;&lt;/span&gt;&lt;/div&gt;</us-gaap:FairValueDisclosuresTextBlock>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RleHRyZWdpb246MDBlNGQwZmIzMWUyNDhhZjhjYmJmZTI3M2NkNDlkYzNfOTQ2Mw_2bbf32f7-3cf3-48a9-adb3-84db3f899ae4">Stock-Based Compensation&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have established and maintain an Omnibus Incentive Plan (2020 Plan) that provides for the granting of restricted stock awards, stock options, restricted stock units, performance share awards, performance restricted stock units, and other stock-based and cash-based awards. The 2020 Plan is administered by the Compensation and Management Development Committee of the Board of Directors.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The aggregate number of shares of common stock authorized for grant under the 2020 Plan is 3,139,895 as approved by shareholders. Any officer, key employee and/or non-employee director is eligible for awards under the 2020 Plan. We grant restricted stock units to non-employee directors on the first business day of each fiscal year. As approved by the Compensation &amp;amp; Management Development Committee of our Board of Directors annually, we grant a mix of restricted stock awards,  performance shares and performance restricted stock units to officers, management and key employees.  We also historically granted stock options to certain officers, directors and key employees. Occasionally, we may make additional grants to key employees at other times during the year. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Restricted Stock Awards&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Restricted stock awards are granted to key employees and officers annually, and typically cliff vest over a three-year period with service and continued employment as the only vesting criteria. The recipient of the restricted stock award is entitled to all of the rights of a shareholder, except that the award is nontransferable during the vesting period and quarterly dividends are not paid until the award vests. The fair value of the restricted stock award is established on the grant date and then expensed over the vesting period resulting in an increase in additional paid-in-capital. Shares are generally issued from treasury stock at the time of grant.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of non-vested restricted stock awards activity during the six months ended April&#160;30, 2023 is presented below:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:62.204%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.420%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.468%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Restricted Stock Awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted-Average&lt;br/&gt;Grant Date Fair Value per Share&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-vested at October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;212,100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20.86&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;94,700&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23.49&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(50,700)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18.72&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-vested at April 30, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;256,100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22.26&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:4pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The total weighted-average grant-date fair value of restricted stock awards that vested during each of the six months ended April&#160;30, 2023 and 2022 &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;was $0.9 million and $1.2 million, respectively. As of April&#160;30, 2023, total unrecognized &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:4pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;compensation cost related to unamortized restricted stock awards was $3.3 million. We expect to recognize this expense over the remaining weighted-average vesting period of 2.1 years. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Stock Options&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Historically, stock options have been awarded to key employees, officers and non-employee directors. In December 2017, the Compensation &amp;amp; Management Development Committee of the Board of Directors approved a change to the long-term incentive award program eliminating the grant of stock options and replacing this award with a grant of performance restricted stock units and performance shares as further described below. As a result, the final stock options were granted during the fiscal year ended October 31, 2017. Stock options typically vested ratably over a three-year period with service and continued employment as the vesting conditions. Our stock options may be exercised up to a maximum of ten years from the date of grant. The fair value of the stock options was determined on the grant date and expensed over the vesting period resulting in an increase in additional paid-in-capital. For employees who were nearing retirement-eligibility, we recognize stock option expense ratably over the shorter of the vesting period or the period from the grant-date to the retirement-eligibility date. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We use a Black-Scholes pricing model to estimate the fair value of stock options. A description of the methodology for the valuation assumptions was disclosed in our Annual Report on Form 10-K for the fiscal year ended October&#160;31, 2022.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes our stock option activity for the six months ended April&#160;30, 2023:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.590%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.598%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Stock Options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted-Average&lt;br/&gt;Exercise Price&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted-Average&lt;br/&gt;Remaining Contractual&lt;br/&gt;Term&#160;(in&#160;years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Aggregate&lt;br/&gt;Intrinsic&lt;br/&gt;Value&#160;(000s)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;175,117&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19.39&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercised&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,000)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19.61&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited/Expired&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,000)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21.11&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at April 30, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;166,117&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19.34&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.6&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested at April 30, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;166,117&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19.34&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.6&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercisable at April 30, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;166,117&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19.34&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.6&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:4pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Intrinsic value is the amount by which the market price of the common stock on the date of exercise exceeds the exercise price of the stock option. The total intrinsic value of stock options exercised during the six months ended April&#160;30, 2023 and 2022 was&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; less than $0.1 million. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Restricted Stock Units&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Restricted stock units may be awarded to key employees and officers from time to time, and annually to non-employee directors. The non-employee director restricted stock units vest immediately but are payable only upon the director's cessation of service unless an election is made by the non-employee director to settle and pay the award on an earlier specified date. Restricted stock units awarded to employees and officers typically cliff vest after a three-year period with service and continued employment as the vesting conditions. Restricted stock units are not considered outstanding shares and do not have voting rights, although the holder does receive a cash payment equivalent to the dividend paid, on a one-for-one basis, on our outstanding common shares. Once the criteria is met, each restricted stock unit is payable to the holder in cash based on the market value of one share of our common stock. Accordingly, we record a liability for the restricted stock units on our balance sheet and recognize any changes in the market value during each reporting period as compensation expense.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the six months ended April&#160;30, 2023 and&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; 2022, non-employee directors received 38,704 and 36,669 restricted stock units, respectively, at a weighted-average grant date fair value of $20.67 per share and $22.52 per share, respectively, which vested immediately. &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the six months ended April&#160;30, 2023, 21,774 restricted stock units, which were awarded to key employees, vested. D&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;uring the six months ended April&#160;30, 2023, we paid $0.4&#160;million and $1.0&#160;million for the comparable prior year to settle vested restricted stock units.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Performance Share Awards&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have awarded annual grants of performance shares to key employees and officers. Performance share awards vest with return on net assets (RONA) as the vesting condition and pay out 100% in cash, and are accounted for as liability. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The expected cash settlement of the performance share award is recorded as a liability and is being marked to market over the three-year term of the award and can fluctuate depending on the number of shares ultimately expected to vest. Depending on the achievement of the performance conditions, 0% to 200% of the awarded performance shares may ultimately vest.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes our performance share grants and the grant date fair value for the RONA performance metrics:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:68.490%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.256%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.256%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Grant Date&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Shares Awarded&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Grant Date Fair Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Shares Forfeited&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 2, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;65,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20.68&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 9, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;80,900&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22.54&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 7, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;89,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23.49&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:4pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In December 2022, 101,200 shares vested pursuant to the December 2018 grant, which were settled with a cash payment of $2.2&#160;million. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Performance share awards are payable in cash based upon the number of performance shares ultimately earned, and are therefore not considered outstanding shares.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Performance Restricted Stock Units&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We award performance restricted stock units to key employees and officers. These awards cliff vest upon a three-year service period with the absolute total shareholder return of our common stock over this three-year term as the vesting criteria. The number of shares earned is variable depending on the metric achieved, and the settlement method is 100% in our common stock, with accrued dividends paid in cash at the time of vesting, assuming the shares had been outstanding throughout the performance period.    &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;To value the performance restricted stock units, we used a Monte Carlo simulation model to arrive at a grant-date fair value. This amount will be adjusted for forfeitures and expensed over the three-year term of the award with a credit to additional paid-in-capital. Depending on the achievement of the performance conditions, a minimum of 0% and a maximum of 150% of the awarded performance restricted stock units may vest. Specifically, the awards vest on a continuum with the following Absolute Total Shareholder Return (A-TSR) milestones: &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:20.098%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:45.245%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:29.897%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Vesting Level&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Vesting Criteria&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Percentage of Award Vested&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level 1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;A-TSR greater than or equal to 50%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;150%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;A-TSR less than 50% and greater than or equal to 20%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level 3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;A-TSR less than 20% and greater than or equal to -20%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level 4&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;A-TSR less than -20%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:4pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes our performance restricted stock unit grants and the grant date fair value for the A-TSR performance metric:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:68.490%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.256%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.256%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Grant Date&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Shares Awarded&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Grant Date Fair Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Shares Forfeited&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 2, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20.68&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 9, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50,900&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21.06&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 7, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;51,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23.22&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:7pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the six months ended April&#160;30, 2023&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, 32,680 performance restricted stock units vested. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The performance restricted stock units are not considered outstanding shares, do not have voting rights, and are exclud&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;ed from diluted weighted-average shares used to calculate earnings per share until the performance criteria is probable to result in the issuance of contingent shares. As of April&#160;30, 2023, we have de&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;emed 27,882 shares related to the December 2020 grant of performance restricted stock units as probable to vest. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes amounts expensed as selling, general and administrative expense related to restricted stock awards, stock options, restricted stock units, performance share awards and performance restricted stock units for the three and six months ended April&#160;30, 2023 and 2022 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:38.227%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.526%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30, 2023&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock awards&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;464&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;360&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;902&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;708&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,062)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(278)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;429&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;716&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance share awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;703&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;316&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,342&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,656&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance restricted stock units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;255&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;212&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;496&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;416&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 14.5pt;text-align:left;text-indent:4.5pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total compensation expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;360&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;610&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,169&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,496&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Treasury Shares&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We record treasury stock purchases under the cost method whereby the entire cost of the acquired stock is recorded as treasury stock. Shares are generally issued from treasury stock at the time of grant of restricted stock awards, upon the exercise of stock options, and upon the vesting of performance shares and performance restricted stock units. On the subsequent issuance of treasury shares, we record proceeds in excess of cost as an increase in additional paid in capital. A deficiency of such proceeds relative to costs would be applied to reduce paid-in-capital associated with prior issuances to the extent available, with the remainder recorded as a charge to retained earnings. There were no charges to retained earnings during the six months ended April&#160;30, 2023.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the treasury stock activity during the six months ended April&#160;30, 2023:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:79.455%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.345%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30, 2023&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning Balance as of November 1, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,081,806&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock awards granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(94,700)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance restricted stock units vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(32,680)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock options exercised&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,000)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Treasury stock repurchases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;275,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at April 30, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,224,426&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RleHRyZWdpb246MDBlNGQwZmIzMWUyNDhhZjhjYmJmZTI3M2NkNDlkYzNfNTE1_d0a5ecdf-7316-4cc6-9e34-60eca01f1799"
      unitRef="shares">3139895</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i4b3108cb6e7449dfbe685b15395ecc71_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RleHRyZWdpb246MDBlNGQwZmIzMWUyNDhhZjhjYmJmZTI3M2NkNDlkYzNfOTUwMQ_87d9bfe5-9a6f-4ef5-b860-4747cf899aa1">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ScheduleOfNonvestedShareActivityTableTextBlock
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RleHRyZWdpb246MDBlNGQwZmIzMWUyNDhhZjhjYmJmZTI3M2NkNDlkYzNfOTUyMg_4688e54f-52d0-4091-a3f3-e11ca0d86c83">&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of non-vested restricted stock awards activity during the six months ended April&#160;30, 2023 is presented below:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:62.204%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.420%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.468%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Restricted Stock Awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted-Average&lt;br/&gt;Grant Date Fair Value per Share&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-vested at October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;212,100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20.86&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;94,700&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23.49&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(50,700)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18.72&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-vested at April 30, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;256,100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22.26&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfNonvestedShareActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i969250acbbd24f11aa731deb0d971cb1_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOmUzOWE0MmY4Yzg3MTQ0ZDliMTBjMDJjOGM4M2ZmM2E0L3RhYmxlcmFuZ2U6ZTM5YTQyZjhjODcxNDRkOWIxMGMwMmM4YzgzZmYzYTRfMS0xLTEtMS01NjI3Mw_d951c1f4-c065-40c4-905d-bf38a0bb76fe"
      unitRef="shares">212100</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i969250acbbd24f11aa731deb0d971cb1_I20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOmUzOWE0MmY4Yzg3MTQ0ZDliMTBjMDJjOGM4M2ZmM2E0L3RhYmxlcmFuZ2U6ZTM5YTQyZjhjODcxNDRkOWIxMGMwMmM4YzgzZmYzYTRfMS0zLTEtMS01NjI3Mw_8043768b-66a7-4b35-b9c4-a52b6bdb4adb"
      unitRef="usdPerShare">20.86</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i4b3108cb6e7449dfbe685b15395ecc71_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOmUzOWE0MmY4Yzg3MTQ0ZDliMTBjMDJjOGM4M2ZmM2E0L3RhYmxlcmFuZ2U6ZTM5YTQyZjhjODcxNDRkOWIxMGMwMmM4YzgzZmYzYTRfMi0xLTEtMS01NjI3Mw_a07b7e56-ce26-46aa-8ffa-f93df5b6b05e"
      unitRef="shares">94700</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i4b3108cb6e7449dfbe685b15395ecc71_D20221101-20230430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOmUzOWE0MmY4Yzg3MTQ0ZDliMTBjMDJjOGM4M2ZmM2E0L3RhYmxlcmFuZ2U6ZTM5YTQyZjhjODcxNDRkOWIxMGMwMmM4YzgzZmYzYTRfMi0zLTEtMS01NjI3Mw_4f8a8612-aa1e-4e6c-ae42-be7e257d2a1b"
      unitRef="usdPerShare">23.49</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="i4b3108cb6e7449dfbe685b15395ecc71_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOmUzOWE0MmY4Yzg3MTQ0ZDliMTBjMDJjOGM4M2ZmM2E0L3RhYmxlcmFuZ2U6ZTM5YTQyZjhjODcxNDRkOWIxMGMwMmM4YzgzZmYzYTRfMy0xLTEtMS01NjI3Mw_0d50eef2-2828-46e7-aa96-286916407012"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="i4b3108cb6e7449dfbe685b15395ecc71_D20221101-20230430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOmUzOWE0MmY4Yzg3MTQ0ZDliMTBjMDJjOGM4M2ZmM2E0L3RhYmxlcmFuZ2U6ZTM5YTQyZjhjODcxNDRkOWIxMGMwMmM4YzgzZmYzYTRfMy0zLTEtMS01NjI3Mw_1321f12d-10d6-457b-b0d2-cf7a95c61e7e"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i4b3108cb6e7449dfbe685b15395ecc71_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOmUzOWE0MmY4Yzg3MTQ0ZDliMTBjMDJjOGM4M2ZmM2E0L3RhYmxlcmFuZ2U6ZTM5YTQyZjhjODcxNDRkOWIxMGMwMmM4YzgzZmYzYTRfNC0xLTEtMS01NjI3Mw_e6f4910d-3a22-4555-9aab-3b9668bc4e7e"
      unitRef="shares">50700</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="i4b3108cb6e7449dfbe685b15395ecc71_D20221101-20230430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOmUzOWE0MmY4Yzg3MTQ0ZDliMTBjMDJjOGM4M2ZmM2E0L3RhYmxlcmFuZ2U6ZTM5YTQyZjhjODcxNDRkOWIxMGMwMmM4YzgzZmYzYTRfNC0zLTEtMS01NjI3Mw_c401b86c-7aa9-4184-9b14-88eee96b523d"
      unitRef="usdPerShare">18.72</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i0ad7e5de93344afb8f87563f7cb89d94_I20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOmUzOWE0MmY4Yzg3MTQ0ZDliMTBjMDJjOGM4M2ZmM2E0L3RhYmxlcmFuZ2U6ZTM5YTQyZjhjODcxNDRkOWIxMGMwMmM4YzgzZmYzYTRfNS0xLTEtMS01NjI3Mw_ed409c54-e94a-4efc-85f7-58e370f523c2"
      unitRef="shares">256100</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i0ad7e5de93344afb8f87563f7cb89d94_I20230430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOmUzOWE0MmY4Yzg3MTQ0ZDliMTBjMDJjOGM4M2ZmM2E0L3RhYmxlcmFuZ2U6ZTM5YTQyZjhjODcxNDRkOWIxMGMwMmM4YzgzZmYzYTRfNS0zLTEtMS01NjI3Mw_7640e0cc-f18f-4e51-bcab-230529f5edc1"
      unitRef="usdPerShare">22.26</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="i4b3108cb6e7449dfbe685b15395ecc71_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RleHRyZWdpb246MDBlNGQwZmIzMWUyNDhhZjhjYmJmZTI3M2NkNDlkYzNfMjA1OQ_312f63fc-3dd3-4172-a79f-ac90b859530e"
      unitRef="usd">900000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="ia775413a85a84e5cb08aec50f4cc851d_D20211101-20220430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RleHRyZWdpb246MDBlNGQwZmIzMWUyNDhhZjhjYmJmZTI3M2NkNDlkYzNfMjA2Ng_405399d7-993b-41c9-8f23-fbc0a1b0eb31"
      unitRef="usd">1200000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
      contextRef="i0ad7e5de93344afb8f87563f7cb89d94_I20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RleHRyZWdpb246MDBlNGQwZmIzMWUyNDhhZjhjYmJmZTI3M2NkNDlkYzNfMjE4Mg_2c0031cc-c729-4e2b-8cd3-118ffb03538e"
      unitRef="usd">3300000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="i4b3108cb6e7449dfbe685b15395ecc71_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RleHRyZWdpb246MDBlNGQwZmIzMWUyNDhhZjhjYmJmZTI3M2NkNDlkYzNfMjI3Ng_8829d814-8c00-48e8-b656-f1b0f5000d20">P2Y1M6D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i5b338e4254984e949076851985777086_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RleHRyZWdpb246MDBlNGQwZmIzMWUyNDhhZjhjYmJmZTI3M2NkNDlkYzNfOTQ5OA_85af112a-1617-4e0f-9465-a96a8c72c24f">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RleHRyZWdpb246MDBlNGQwZmIzMWUyNDhhZjhjYmJmZTI3M2NkNDlkYzNfOTQ3NQ_e47cc1ed-1516-4a96-b8f1-1eea904a55c4">&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes our stock option activity for the six months ended April&#160;30, 2023:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.590%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.598%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Stock Options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted-Average&lt;br/&gt;Exercise Price&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted-Average&lt;br/&gt;Remaining Contractual&lt;br/&gt;Term&#160;(in&#160;years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Aggregate&lt;br/&gt;Intrinsic&lt;br/&gt;Value&#160;(000s)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;175,117&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19.39&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercised&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,000)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19.61&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited/Expired&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,000)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21.11&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at April 30, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;166,117&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19.34&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.6&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested at April 30, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;166,117&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19.34&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.6&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercisable at April 30, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;166,117&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19.34&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.6&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOmEyZDk4NDRlYWQ0MDRlNDVhYjkxY2QzZjI4ZDdhYjUzL3RhYmxlcmFuZ2U6YTJkOTg0NGVhZDQwNGU0NWFiOTFjZDNmMjhkN2FiNTNfMS0xLTEtMS01NjI3Mw_36b6c07b-0b81-4d46-9a09-b216d4646ebf"
      unitRef="shares">175117</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOmEyZDk4NDRlYWQ0MDRlNDVhYjkxY2QzZjI4ZDdhYjUzL3RhYmxlcmFuZ2U6YTJkOTg0NGVhZDQwNGU0NWFiOTFjZDNmMjhkN2FiNTNfMS0zLTEtMS01NjI3Mw_8bdae5ab-168a-4c63-9211-d52a5d12df0b"
      unitRef="usdPerShare">19.39</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOmEyZDk4NDRlYWQ0MDRlNDVhYjkxY2QzZjI4ZDdhYjUzL3RhYmxlcmFuZ2U6YTJkOTg0NGVhZDQwNGU0NWFiOTFjZDNmMjhkN2FiNTNfMi0xLTEtMS01NjI3Mw_1714313e-f361-4b79-b16b-c7d449eac030"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOmEyZDk4NDRlYWQ0MDRlNDVhYjkxY2QzZjI4ZDdhYjUzL3RhYmxlcmFuZ2U6YTJkOTg0NGVhZDQwNGU0NWFiOTFjZDNmMjhkN2FiNTNfMi0zLTEtMS01NjI3Mw_1eb6ecd1-390f-479a-8ba3-5886284a1e47"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOmEyZDk4NDRlYWQ0MDRlNDVhYjkxY2QzZjI4ZDdhYjUzL3RhYmxlcmFuZ2U6YTJkOTg0NGVhZDQwNGU0NWFiOTFjZDNmMjhkN2FiNTNfMy0xLTEtMS01NjI3Mw_28939e27-bfbf-44c8-8e39-232a3dbf359b"
      unitRef="shares">5000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOmEyZDk4NDRlYWQ0MDRlNDVhYjkxY2QzZjI4ZDdhYjUzL3RhYmxlcmFuZ2U6YTJkOTg0NGVhZDQwNGU0NWFiOTFjZDNmMjhkN2FiNTNfMy0zLTEtMS01NjI3Mw_86ba05a9-eb66-4005-95c8-082a3298b113"
      unitRef="usdPerShare">19.61</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOmEyZDk4NDRlYWQ0MDRlNDVhYjkxY2QzZjI4ZDdhYjUzL3RhYmxlcmFuZ2U6YTJkOTg0NGVhZDQwNGU0NWFiOTFjZDNmMjhkN2FiNTNfNC0xLTEtMS01NjI3Mw_5057a7a1-431a-4fc8-9887-80342fd02e34"
      unitRef="shares">4000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOmEyZDk4NDRlYWQ0MDRlNDVhYjkxY2QzZjI4ZDdhYjUzL3RhYmxlcmFuZ2U6YTJkOTg0NGVhZDQwNGU0NWFiOTFjZDNmMjhkN2FiNTNfNC0zLTEtMS01NjI3Mw_bf025cb4-9aa3-4a08-a30b-b9ec86b2486b"
      unitRef="usdPerShare">21.11</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOmEyZDk4NDRlYWQ0MDRlNDVhYjkxY2QzZjI4ZDdhYjUzL3RhYmxlcmFuZ2U6YTJkOTg0NGVhZDQwNGU0NWFiOTFjZDNmMjhkN2FiNTNfNS0xLTEtMS01NjI3Mw_685ddab6-6c01-49ad-b345-899c9fbbeafd"
      unitRef="shares">166117</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOmEyZDk4NDRlYWQ0MDRlNDVhYjkxY2QzZjI4ZDdhYjUzL3RhYmxlcmFuZ2U6YTJkOTg0NGVhZDQwNGU0NWFiOTFjZDNmMjhkN2FiNTNfNS0zLTEtMS01NjI3Mw_11360d7d-b672-414f-8b54-e540ceba2ec8"
      unitRef="usdPerShare">19.34</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOmEyZDk4NDRlYWQ0MDRlNDVhYjkxY2QzZjI4ZDdhYjUzL3RhYmxlcmFuZ2U6YTJkOTg0NGVhZDQwNGU0NWFiOTFjZDNmMjhkN2FiNTNfNS01LTEtMS01NjI3Mw_e3220511-3206-407b-bb14-88337521cefb">P2Y7M6D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOmEyZDk4NDRlYWQ0MDRlNDVhYjkxY2QzZjI4ZDdhYjUzL3RhYmxlcmFuZ2U6YTJkOTg0NGVhZDQwNGU0NWFiOTFjZDNmMjhkN2FiNTNfNS03LTEtMS01NjI3Mw_2acce2ef-ab07-4de7-b3b3-f889abd7676d"
      unitRef="usd">20000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOmEyZDk4NDRlYWQ0MDRlNDVhYjkxY2QzZjI4ZDdhYjUzL3RhYmxlcmFuZ2U6YTJkOTg0NGVhZDQwNGU0NWFiOTFjZDNmMjhkN2FiNTNfNi0xLTEtMS01NjI3Mw_bcc0332a-beb3-4ffe-bcf7-77aa1d68c9de"
      unitRef="shares">166117</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOmEyZDk4NDRlYWQ0MDRlNDVhYjkxY2QzZjI4ZDdhYjUzL3RhYmxlcmFuZ2U6YTJkOTg0NGVhZDQwNGU0NWFiOTFjZDNmMjhkN2FiNTNfNi0zLTEtMS01NjI3Mw_ea27257e-9a50-4d05-8b58-3048defcfcf6"
      unitRef="usdPerShare">19.34</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOmEyZDk4NDRlYWQ0MDRlNDVhYjkxY2QzZjI4ZDdhYjUzL3RhYmxlcmFuZ2U6YTJkOTg0NGVhZDQwNGU0NWFiOTFjZDNmMjhkN2FiNTNfNi01LTEtMS01NjI3Mw_79aa9eeb-399c-48ec-83fe-a73c8b4a3a74">P2Y7M6D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOmEyZDk4NDRlYWQ0MDRlNDVhYjkxY2QzZjI4ZDdhYjUzL3RhYmxlcmFuZ2U6YTJkOTg0NGVhZDQwNGU0NWFiOTFjZDNmMjhkN2FiNTNfNi03LTEtMS01NjI3Mw_7ad4ca22-52c5-482b-bae5-e084229f8b8a"
      unitRef="usd">20000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOmEyZDk4NDRlYWQ0MDRlNDVhYjkxY2QzZjI4ZDdhYjUzL3RhYmxlcmFuZ2U6YTJkOTg0NGVhZDQwNGU0NWFiOTFjZDNmMjhkN2FiNTNfNy0xLTEtMS01NjI3Mw_09f36604-b6fe-44e1-bee1-9c65ab313214"
      unitRef="shares">166117</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOmEyZDk4NDRlYWQ0MDRlNDVhYjkxY2QzZjI4ZDdhYjUzL3RhYmxlcmFuZ2U6YTJkOTg0NGVhZDQwNGU0NWFiOTFjZDNmMjhkN2FiNTNfNy0zLTEtMS01NjI3Mw_45f6a483-9eb1-4d01-8fc8-55e8f3096bdb"
      unitRef="usdPerShare">19.34</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOmEyZDk4NDRlYWQ0MDRlNDVhYjkxY2QzZjI4ZDdhYjUzL3RhYmxlcmFuZ2U6YTJkOTg0NGVhZDQwNGU0NWFiOTFjZDNmMjhkN2FiNTNfNy01LTEtMS01NjI3Mw_36da61db-65f4-44d6-acec-f1459264800d">P2Y7M6D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOmEyZDk4NDRlYWQ0MDRlNDVhYjkxY2QzZjI4ZDdhYjUzL3RhYmxlcmFuZ2U6YTJkOTg0NGVhZDQwNGU0NWFiOTFjZDNmMjhkN2FiNTNfNy03LTEtMS01NjI3Mw_8c84c0b7-6e9c-44eb-842a-9471f803db10"
      unitRef="usd">20000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="i5b338e4254984e949076851985777086_D20221101-20230430"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RleHRyZWdpb246MDBlNGQwZmIzMWUyNDhhZjhjYmJmZTI3M2NkNDlkYzNfMzk1OQ_de63527e-c613-4f35-8510-5320a9937d65"
      unitRef="usd">100000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="i5b338e4254984e949076851985777086_D20221101-20230430"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RleHRyZWdpb246MDBlNGQwZmIzMWUyNDhhZjhjYmJmZTI3M2NkNDlkYzNfMzk1OQ_f79fa836-058e-4081-93c6-97e817f819b0"
      unitRef="usd">100000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="ie676f104c6564f23a66b9598515d0f7e_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RleHRyZWdpb246MDBlNGQwZmIzMWUyNDhhZjhjYmJmZTI3M2NkNDlkYzNfOTUwOQ_f9f382eb-569e-4138-9d56-8d98f2b64363">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="ie676f104c6564f23a66b9598515d0f7e_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RleHRyZWdpb246MDBlNGQwZmIzMWUyNDhhZjhjYmJmZTI3M2NkNDlkYzNfNTE1Ng_232583ba-40db-4337-a298-f93372399663"
      unitRef="shares">38704</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i62aa56f27e36465b9862d72e0bc983e5_D20211101-20220430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RleHRyZWdpb246MDBlNGQwZmIzMWUyNDhhZjhjYmJmZTI3M2NkNDlkYzNfNTE2Mw_ab97bbf5-a67f-47bc-9da6-ff8e08d7bf1c"
      unitRef="shares">36669</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="ie676f104c6564f23a66b9598515d0f7e_D20221101-20230430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RleHRyZWdpb246MDBlNGQwZmIzMWUyNDhhZjhjYmJmZTI3M2NkNDlkYzNfNTI1MQ_ef2a0a96-221f-4999-9f0b-9547fe0ce191"
      unitRef="usdPerShare">20.67</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i62aa56f27e36465b9862d72e0bc983e5_D20211101-20220430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RleHRyZWdpb246MDBlNGQwZmIzMWUyNDhhZjhjYmJmZTI3M2NkNDlkYzNfNTI2OA_1ef9b8cc-f646-4dd2-99ca-b4de1d4c1a08"
      unitRef="usdPerShare">22.52</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i61984bdc5f1e4d6c93f14c3cbf544b7d_I20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RleHRyZWdpb246MDBlNGQwZmIzMWUyNDhhZjhjYmJmZTI3M2NkNDlkYzNfNTM1Mw_735fa034-135b-4ad4-9ab9-b3c8e2a0911c"
      unitRef="shares">21774</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <nx:ShareBasedCompensationArrangementByShareBasedPaymentAwardCashPaidToSettleVestedInstruments
      contextRef="ie676f104c6564f23a66b9598515d0f7e_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RleHRyZWdpb246MDBlNGQwZmIzMWUyNDhhZjhjYmJmZTI3M2NkNDlkYzNfNTQ2OA_77e7dbc9-39c6-4924-bb7a-709d58b883de"
      unitRef="usd">400000</nx:ShareBasedCompensationArrangementByShareBasedPaymentAwardCashPaidToSettleVestedInstruments>
    <nx:ShareBasedCompensationArrangementByShareBasedPaymentAwardCashPaidToSettleVestedInstruments
      contextRef="i62aa56f27e36465b9862d72e0bc983e5_D20211101-20220430"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RleHRyZWdpb246MDBlNGQwZmIzMWUyNDhhZjhjYmJmZTI3M2NkNDlkYzNfNTQ3NQ_3b8dabd0-baa6-400e-892e-6f77bcce6dca"
      unitRef="usd">1000000</nx:ShareBasedCompensationArrangementByShareBasedPaymentAwardCashPaidToSettleVestedInstruments>
    <nx:PerformanceSharesSettledinCash
      contextRef="ife3e401e84ea42a19790e444c2527ac8_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RleHRyZWdpb246MDBlNGQwZmIzMWUyNDhhZjhjYmJmZTI3M2NkNDlkYzNfNTc1Ng_7fec0a7f-0c4e-4e33-95bb-c71d793efb7d"
      unitRef="number">1</nx:PerformanceSharesSettledinCash>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="i49ca6d014eac4522b7921b8b5b65b8ff_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RleHRyZWdpb246MDBlNGQwZmIzMWUyNDhhZjhjYmJmZTI3M2NkNDlkYzNfNjA5OA_8def3922-97c7-40a7-8e1c-beb71a425b11"
      unitRef="number">0</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="i43c8715fadee458c978394babde84b82_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RleHRyZWdpb246MDBlNGQwZmIzMWUyNDhhZjhjYmJmZTI3M2NkNDlkYzNfNjEwNA_6af3b5b8-aa22-4f55-89b3-ace68b3849f0"
      unitRef="number">2</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:ScheduleOfShareBasedCompensationArrangementByShareBasedPaymentAwardPerformanceBasedUnitsVestedAndExpectedToVestTableTextBlock
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RleHRyZWdpb246MDBlNGQwZmIzMWUyNDhhZjhjYmJmZTI3M2NkNDlkYzNfOTUyMQ_5ffe317c-1bf7-4e1b-bb03-c57d36f7cd6c">&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes our performance share grants and the grant date fair value for the RONA performance metrics:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:68.490%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.256%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.256%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Grant Date&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Shares Awarded&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Grant Date Fair Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Shares Forfeited&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 2, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;65,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20.68&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 9, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;80,900&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22.54&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 7, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;89,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23.49&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedCompensationArrangementByShareBasedPaymentAwardPerformanceBasedUnitsVestedAndExpectedToVestTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted
      contextRef="id6669fcd019948c5bec8ca4606a659f5_D20201202-20201202"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjIzMjBmODZiYzM5YTQ4MThhYTc4OTE5NjM2NDFhODczL3RhYmxlcmFuZ2U6MjMyMGY4NmJjMzlhNDgxOGFhNzg5MTk2MzY0MWE4NzNfNC0yLTEtMS01NjI3Mw_c0331493-3aba-4fc1-b8a0-149bef90fe72"
      unitRef="shares">65300</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted>
    <nx:ReturnOnNetAssets
      contextRef="id6669fcd019948c5bec8ca4606a659f5_D20201202-20201202"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjIzMjBmODZiYzM5YTQ4MThhYTc4OTE5NjM2NDFhODczL3RhYmxlcmFuZ2U6MjMyMGY4NmJjMzlhNDgxOGFhNzg5MTk2MzY0MWE4NzNfNC00LTEtMS01NjI3Mw_24cb4b80-ce32-4d14-adb5-1e904fad06a5"
      unitRef="usdPerShare">20.68</nx:ReturnOnNetAssets>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures
      contextRef="id6669fcd019948c5bec8ca4606a659f5_D20201202-20201202"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjIzMjBmODZiYzM5YTQ4MThhYTc4OTE5NjM2NDFhODczL3RhYmxlcmFuZ2U6MjMyMGY4NmJjMzlhNDgxOGFhNzg5MTk2MzY0MWE4NzNfNC02LTEtMS01NjI3Mw_db001163-89d8-434b-8d77-1124281d7e78"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted
      contextRef="ib30e2b1ff13c459da7ce433c0cc2cd11_D20211209-20211209"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjIzMjBmODZiYzM5YTQ4MThhYTc4OTE5NjM2NDFhODczL3RhYmxlcmFuZ2U6MjMyMGY4NmJjMzlhNDgxOGFhNzg5MTk2MzY0MWE4NzNfNS0yLTEtMS01NjI3Mw_c4e0ee2d-f9bd-49cf-8040-22ffc00d7f1a"
      unitRef="shares">80900</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted>
    <nx:ReturnOnNetAssets
      contextRef="ib30e2b1ff13c459da7ce433c0cc2cd11_D20211209-20211209"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjIzMjBmODZiYzM5YTQ4MThhYTc4OTE5NjM2NDFhODczL3RhYmxlcmFuZ2U6MjMyMGY4NmJjMzlhNDgxOGFhNzg5MTk2MzY0MWE4NzNfNS00LTEtMS01NjI3Mw_dfe639a2-a2f9-4e3a-be9c-db890e9f821d"
      unitRef="usdPerShare">22.54</nx:ReturnOnNetAssets>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures
      contextRef="ib30e2b1ff13c459da7ce433c0cc2cd11_D20211209-20211209"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjIzMjBmODZiYzM5YTQ4MThhYTc4OTE5NjM2NDFhODczL3RhYmxlcmFuZ2U6MjMyMGY4NmJjMzlhNDgxOGFhNzg5MTk2MzY0MWE4NzNfNS02LTEtMS01NjI3Mw_4a8d8646-7239-4dd6-9d14-2e66d218afff"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted
      contextRef="i3c528d35b111403381765a060e063567_D20221207-20221207"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjIzMjBmODZiYzM5YTQ4MThhYTc4OTE5NjM2NDFhODczL3RhYmxlcmFuZ2U6MjMyMGY4NmJjMzlhNDgxOGFhNzg5MTk2MzY0MWE4NzNfNi0yLTEtMS01NjI3Mw_8ef0f9b5-dd1e-47c5-9b8d-8452fa3182fd"
      unitRef="shares">89300</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted>
    <nx:ReturnOnNetAssets
      contextRef="i3c528d35b111403381765a060e063567_D20221207-20221207"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjIzMjBmODZiYzM5YTQ4MThhYTc4OTE5NjM2NDFhODczL3RhYmxlcmFuZ2U6MjMyMGY4NmJjMzlhNDgxOGFhNzg5MTk2MzY0MWE4NzNfNi00LTEtMS01NjI3Mw_0c9d8170-c38f-443b-86b5-bd8d03e2300c"
      unitRef="usdPerShare">23.49</nx:ReturnOnNetAssets>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures
      contextRef="i3c528d35b111403381765a060e063567_D20221207-20221207"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjIzMjBmODZiYzM5YTQ4MThhYTc4OTE5NjM2NDFhODczL3RhYmxlcmFuZ2U6MjMyMGY4NmJjMzlhNDgxOGFhNzg5MTk2MzY0MWE4NzNfNi02LTEtMS01NjI3Mw_300928c3-693a-44db-ba3f-5d1be1db18e6"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares
      contextRef="ife3e401e84ea42a19790e444c2527ac8_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RleHRyZWdpb246MDBlNGQwZmIzMWUyNDhhZjhjYmJmZTI3M2NkNDlkYzNfNjMwNg_7b968e3b-0ce3-43ce-a2fe-35e8f925fb26"
      unitRef="shares">101200</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares>
    <nx:PaymentForSettlementOfShareBasedCompensation
      contextRef="ife3e401e84ea42a19790e444c2527ac8_D20221101-20230430"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RleHRyZWdpb246MDBlNGQwZmIzMWUyNDhhZjhjYmJmZTI3M2NkNDlkYzNfNjQwMg_9bf8f180-fc9a-4ae1-a382-652c826965f2"
      unitRef="usd">2200000</nx:PaymentForSettlementOfShareBasedCompensation>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="ib58a025164fc44e6a17acc8ad95dacb2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RleHRyZWdpb246MDBlNGQwZmIzMWUyNDhhZjhjYmJmZTI3M2NkNDlkYzNfOTQ3MQ_4acf3ddd-81fc-48e4-b3b7-4ac855c4c8c0">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <nx:PerformanceRestrictedStockUnitsSettledInCash
      contextRef="ib58a025164fc44e6a17acc8ad95dacb2_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RleHRyZWdpb246MDBlNGQwZmIzMWUyNDhhZjhjYmJmZTI3M2NkNDlkYzNfNjk1Mg_5a26737e-71f2-46ae-a935-25a61a57c1e4"
      unitRef="number">1</nx:PerformanceRestrictedStockUnitsSettledInCash>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="i2bd602e8bf8d4d71ba342346c860561c_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RleHRyZWdpb246MDBlNGQwZmIzMWUyNDhhZjhjYmJmZTI3M2NkNDlkYzNfNzQ1Ng_6ce0df71-f833-4c86-b8bf-fc1865020d61"
      unitRef="number">0</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="if8fa9244544f46c3a8d3cb7271c6bd02_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RleHRyZWdpb246MDBlNGQwZmIzMWUyNDhhZjhjYmJmZTI3M2NkNDlkYzNfNzQ3Ng_f4d2c97a-1e5f-4552-ba27-b93ade00bda4"
      unitRef="number">1.50</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <nx:ScheduleofPerformanceRestrictedStockVestingConditionsTableTextBlock
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RleHRyZWdpb246MDBlNGQwZmIzMWUyNDhhZjhjYmJmZTI3M2NkNDlkYzNfOTQ5Ng_07916ad0-acd1-4521-b884-7d0d41c2a5fc">Specifically, the awards vest on a continuum with the following Absolute Total Shareholder Return (A-TSR) milestones: &lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:20.098%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:45.245%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:29.897%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Vesting Level&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Vesting Criteria&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Percentage of Award Vested&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level 1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;A-TSR greater than or equal to 50%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;150%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;A-TSR less than 50% and greater than or equal to 20%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level 3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;A-TSR less than 20% and greater than or equal to -20%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level 4&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;A-TSR less than -20%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</nx:ScheduleofPerformanceRestrictedStockVestingConditionsTableTextBlock>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="i1c27a052589c4fe4959956ea19e7d879_D20221101-20230430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjY4MmQwMDlkMWZmMTRhZTRiMDIzN2VhNDJjZmQzMDNiL3RhYmxlcmFuZ2U6NjgyZDAwOWQxZmYxNGFlNGIwMjM3ZWE0MmNmZDMwM2JfMS00LTEtMS01NjI3Mw_ccffc201-d2b0-4388-8aee-70e08a30ca50"
      unitRef="number">1.50</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="i20a272c1452b4fcf9a6bd09f177d73bc_D20221101-20230430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjY4MmQwMDlkMWZmMTRhZTRiMDIzN2VhNDJjZmQzMDNiL3RhYmxlcmFuZ2U6NjgyZDAwOWQxZmYxNGFlNGIwMjM3ZWE0MmNmZDMwM2JfMi00LTEtMS01NjI3Mw_554485e0-3da9-4b84-9de3-1ecf56423e9c"
      unitRef="number">1</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="ib5fac5425c1a4b119a6265c33d095bad_D20221101-20230430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjY4MmQwMDlkMWZmMTRhZTRiMDIzN2VhNDJjZmQzMDNiL3RhYmxlcmFuZ2U6NjgyZDAwOWQxZmYxNGFlNGIwMjM3ZWE0MmNmZDMwM2JfMy00LTEtMS01NjI3Mw_789a62f3-839e-453c-a4b6-ce689c87611f"
      unitRef="number">0.50</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="i11d03477312b47bcba8a34fb10e8b709_D20221101-20230430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjY4MmQwMDlkMWZmMTRhZTRiMDIzN2VhNDJjZmQzMDNiL3RhYmxlcmFuZ2U6NjgyZDAwOWQxZmYxNGFlNGIwMjM3ZWE0MmNmZDMwM2JfNC00LTEtMS01NjI3Mw_de727d67-c16a-4206-8244-ff399de6354b"
      unitRef="number">0</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <nx:PerformanceRestrictedStockUnitsbyGrantTableTextBlock
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RleHRyZWdpb246MDBlNGQwZmIzMWUyNDhhZjhjYmJmZTI3M2NkNDlkYzNfOTQ4Mw_53ed8066-aa77-41c9-9bff-87ec1d6e507c">&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:68.490%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.256%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.256%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Grant Date&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Shares Awarded&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Grant Date Fair Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Shares Forfeited&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 2, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20.68&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 9, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50,900&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21.06&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 7, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;51,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23.22&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</nx:PerformanceRestrictedStockUnitsbyGrantTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted
      contextRef="i046b147c118b4af799502ca2882c9bed_D20201202-20201202"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjZhMTBiZWJmY2NlYjRjNjZiMzM5Mzk0ZmI2NTUwYzg3L3RhYmxlcmFuZ2U6NmExMGJlYmZjY2ViNGM2NmIzMzkzOTRmYjY1NTBjODdfMy0yLTEtMS01NjI3Mw_3ce779f6-af75-4822-8245-84a471821861"
      unitRef="shares">38400</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i046b147c118b4af799502ca2882c9bed_D20201202-20201202"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjZhMTBiZWJmY2NlYjRjNjZiMzM5Mzk0ZmI2NTUwYzg3L3RhYmxlcmFuZ2U6NmExMGJlYmZjY2ViNGM2NmIzMzkzOTRmYjY1NTBjODdfMy00LTEtMS01NjI3Mw_050391ca-d883-45c2-911f-8eb89af1bb9f"
      unitRef="usdPerShare">20.68</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures
      contextRef="i046b147c118b4af799502ca2882c9bed_D20201202-20201202"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjZhMTBiZWJmY2NlYjRjNjZiMzM5Mzk0ZmI2NTUwYzg3L3RhYmxlcmFuZ2U6NmExMGJlYmZjY2ViNGM2NmIzMzkzOTRmYjY1NTBjODdfMy02LTEtMS01NjI3Mw_d2029f4e-e17b-49eb-b5d3-2c97a7340e52"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted
      contextRef="i9f5de00b4101432b9470e20df665b395_D20211209-20211209"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjZhMTBiZWJmY2NlYjRjNjZiMzM5Mzk0ZmI2NTUwYzg3L3RhYmxlcmFuZ2U6NmExMGJlYmZjY2ViNGM2NmIzMzkzOTRmYjY1NTBjODdfNC0yLTEtMS01NjI3Mw_2d7ddc78-d023-496d-9cd0-0084e39d9b91"
      unitRef="shares">50900</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i9f5de00b4101432b9470e20df665b395_D20211209-20211209"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjZhMTBiZWJmY2NlYjRjNjZiMzM5Mzk0ZmI2NTUwYzg3L3RhYmxlcmFuZ2U6NmExMGJlYmZjY2ViNGM2NmIzMzkzOTRmYjY1NTBjODdfNC00LTEtMS01NjI3Mw_e15dc1bd-184d-4753-8e9e-ddf4240ddb4b"
      unitRef="usdPerShare">21.06</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures
      contextRef="i9f5de00b4101432b9470e20df665b395_D20211209-20211209"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjZhMTBiZWJmY2NlYjRjNjZiMzM5Mzk0ZmI2NTUwYzg3L3RhYmxlcmFuZ2U6NmExMGJlYmZjY2ViNGM2NmIzMzkzOTRmYjY1NTBjODdfNC02LTEtMS01NjI3Mw_7bcad67e-5881-442d-8ae9-27606dafb325"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted
      contextRef="ie8c1489ed89f4d19afce454df922cf88_D20221207-20221207"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjZhMTBiZWJmY2NlYjRjNjZiMzM5Mzk0ZmI2NTUwYzg3L3RhYmxlcmFuZ2U6NmExMGJlYmZjY2ViNGM2NmIzMzkzOTRmYjY1NTBjODdfNS0yLTEtMS01NjI3Mw_8afa7cd7-b0ea-4efe-b60c-e3fcad67fb6c"
      unitRef="shares">51500</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="ie8c1489ed89f4d19afce454df922cf88_D20221207-20221207"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjZhMTBiZWJmY2NlYjRjNjZiMzM5Mzk0ZmI2NTUwYzg3L3RhYmxlcmFuZ2U6NmExMGJlYmZjY2ViNGM2NmIzMzkzOTRmYjY1NTBjODdfNS00LTEtMS01NjI3Mw_28bfb803-2aeb-42b2-ae53-de658abec73c"
      unitRef="usdPerShare">23.22</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures
      contextRef="ie8c1489ed89f4d19afce454df922cf88_D20221207-20221207"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjZhMTBiZWJmY2NlYjRjNjZiMzM5Mzk0ZmI2NTUwYzg3L3RhYmxlcmFuZ2U6NmExMGJlYmZjY2ViNGM2NmIzMzkzOTRmYjY1NTBjODdfNS02LTEtMS01NjI3Mw_cdbd8b6f-f6af-4dfa-b7db-bc37b6d7662b"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares
      contextRef="ib58a025164fc44e6a17acc8ad95dacb2_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RleHRyZWdpb246MDBlNGQwZmIzMWUyNDhhZjhjYmJmZTI3M2NkNDlkYzNfOTUxMQ_db9280c8-7ad7-44f0-b05c-b246c003aebf"
      unitRef="shares">32680</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber
      contextRef="iaadc688d01314e6983a7c7263a015b2e_I20230430"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RleHRyZWdpb246MDBlNGQwZmIzMWUyNDhhZjhjYmJmZTI3M2NkNDlkYzNfODE5Ng_7e2433ba-9ecf-4e4b-8fdd-1cedc44338e0"
      unitRef="shares">27882</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
    <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RleHRyZWdpb246MDBlNGQwZmIzMWUyNDhhZjhjYmJmZTI3M2NkNDlkYzNfOTQ5Mw_cf068249-1032-438f-95a6-51287d3e8e1b">&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes amounts expensed as selling, general and administrative expense related to restricted stock awards, stock options, restricted stock units, performance share awards and performance restricted stock units for the three and six months ended April&#160;30, 2023 and 2022 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:38.227%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.526%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30, 2023&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock awards&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;464&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;360&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;902&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;708&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,062)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(278)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;429&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;716&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance share awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;703&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;316&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,342&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,656&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance restricted stock units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;255&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;212&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;496&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;416&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 14.5pt;text-align:left;text-indent:4.5pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total compensation expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;360&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;610&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,169&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,496&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i19badb9df6d64ac9a6c76eb94c66c072_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjY2MzBkZDVjYmM3YjQ5MzE4MDVmZDYxZDg0OTBjNzY3L3RhYmxlcmFuZ2U6NjYzMGRkNWNiYzdiNDkzMTgwNWZkNjFkODQ5MGM3NjdfMy0xLTEtMS01NjI3Mw_89da507f-0bfa-48da-bd00-4d66e1b75911"
      unitRef="usd">464000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i24c3223cb236478ab1d1f6eabaa417f7_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjY2MzBkZDVjYmM3YjQ5MzE4MDVmZDYxZDg0OTBjNzY3L3RhYmxlcmFuZ2U6NjYzMGRkNWNiYzdiNDkzMTgwNWZkNjFkODQ5MGM3NjdfMy0zLTEtMS01NjI3Mw_679a1fe6-fcd7-414d-bac6-58667561e462"
      unitRef="usd">360000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i4b3108cb6e7449dfbe685b15395ecc71_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjY2MzBkZDVjYmM3YjQ5MzE4MDVmZDYxZDg0OTBjNzY3L3RhYmxlcmFuZ2U6NjYzMGRkNWNiYzdiNDkzMTgwNWZkNjFkODQ5MGM3NjdfMy01LTEtMS01NjI3Mw_f54210d9-4ae3-4f1f-8e60-4a003229b357"
      unitRef="usd">902000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ia775413a85a84e5cb08aec50f4cc851d_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjY2MzBkZDVjYmM3YjQ5MzE4MDVmZDYxZDg0OTBjNzY3L3RhYmxlcmFuZ2U6NjYzMGRkNWNiYzdiNDkzMTgwNWZkNjFkODQ5MGM3NjdfMy03LTEtMS01NjI3Mw_d2423f29-9519-476e-8fff-ca60b0a213e5"
      unitRef="usd">708000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="iaddd6d05349048ab94784b8cd8530417_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjY2MzBkZDVjYmM3YjQ5MzE4MDVmZDYxZDg0OTBjNzY3L3RhYmxlcmFuZ2U6NjYzMGRkNWNiYzdiNDkzMTgwNWZkNjFkODQ5MGM3NjdfNS0xLTEtMS01NjI3Mw_d7dc9a7b-4ebe-4ba0-b4f4-62bbbefbe581"
      unitRef="usd">-1062000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i3a9839e793ab4de98b024749707e4b0f_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjY2MzBkZDVjYmM3YjQ5MzE4MDVmZDYxZDg0OTBjNzY3L3RhYmxlcmFuZ2U6NjYzMGRkNWNiYzdiNDkzMTgwNWZkNjFkODQ5MGM3NjdfNS0zLTEtMS01NjI3Mw_367c554b-b422-42cb-8972-05e6edbedc5f"
      unitRef="usd">-278000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ie676f104c6564f23a66b9598515d0f7e_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjY2MzBkZDVjYmM3YjQ5MzE4MDVmZDYxZDg0OTBjNzY3L3RhYmxlcmFuZ2U6NjYzMGRkNWNiYzdiNDkzMTgwNWZkNjFkODQ5MGM3NjdfNS01LTEtMS01NjI3Mw_3c344574-d271-4449-ba75-9a606885b227"
      unitRef="usd">429000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i62aa56f27e36465b9862d72e0bc983e5_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjY2MzBkZDVjYmM3YjQ5MzE4MDVmZDYxZDg0OTBjNzY3L3RhYmxlcmFuZ2U6NjYzMGRkNWNiYzdiNDkzMTgwNWZkNjFkODQ5MGM3NjdfNS03LTEtMS01NjI3Mw_cfa108c7-57a4-49d7-9e43-95abe5c3495e"
      unitRef="usd">716000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="icd337e2254bb450da29a5a4dbcd2070f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjY2MzBkZDVjYmM3YjQ5MzE4MDVmZDYxZDg0OTBjNzY3L3RhYmxlcmFuZ2U6NjYzMGRkNWNiYzdiNDkzMTgwNWZkNjFkODQ5MGM3NjdfNi0xLTEtMS01NjI3Mw_54256995-63e6-4b66-a309-8e2e35a34c7a"
      unitRef="usd">703000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ib6ec16ca18cd4f8a989e83dbbe8ce95a_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjY2MzBkZDVjYmM3YjQ5MzE4MDVmZDYxZDg0OTBjNzY3L3RhYmxlcmFuZ2U6NjYzMGRkNWNiYzdiNDkzMTgwNWZkNjFkODQ5MGM3NjdfNi0zLTEtMS01NjI3Mw_a5f3494e-766b-411f-885a-65536c4262cc"
      unitRef="usd">316000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ife3e401e84ea42a19790e444c2527ac8_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjY2MzBkZDVjYmM3YjQ5MzE4MDVmZDYxZDg0OTBjNzY3L3RhYmxlcmFuZ2U6NjYzMGRkNWNiYzdiNDkzMTgwNWZkNjFkODQ5MGM3NjdfNi01LTEtMS01NjI3Mw_21229cbb-b203-4962-9df5-5ac8efee92bf"
      unitRef="usd">3342000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i6f73dc7f4d774dcbae59c3acaa5ca0dd_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjY2MzBkZDVjYmM3YjQ5MzE4MDVmZDYxZDg0OTBjNzY3L3RhYmxlcmFuZ2U6NjYzMGRkNWNiYzdiNDkzMTgwNWZkNjFkODQ5MGM3NjdfNi03LTEtMS01NjI3Mw_fe29320d-710d-4f2a-91e7-022d8f92d1dc"
      unitRef="usd">1656000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ibd1ef74482334a7cb9e587ab7af4c6ae_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjY2MzBkZDVjYmM3YjQ5MzE4MDVmZDYxZDg0OTBjNzY3L3RhYmxlcmFuZ2U6NjYzMGRkNWNiYzdiNDkzMTgwNWZkNjFkODQ5MGM3NjdfNy0xLTEtMS01NjI3Mw_ad89fb40-60e1-43bc-8a2d-5aafa255ea57"
      unitRef="usd">255000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ia6f5759f0f6544ffbd026a33b329b497_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjY2MzBkZDVjYmM3YjQ5MzE4MDVmZDYxZDg0OTBjNzY3L3RhYmxlcmFuZ2U6NjYzMGRkNWNiYzdiNDkzMTgwNWZkNjFkODQ5MGM3NjdfNy0zLTEtMS01NjI3Mw_98e96368-9fc4-4170-805e-ab399ebbdc97"
      unitRef="usd">212000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ib58a025164fc44e6a17acc8ad95dacb2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjY2MzBkZDVjYmM3YjQ5MzE4MDVmZDYxZDg0OTBjNzY3L3RhYmxlcmFuZ2U6NjYzMGRkNWNiYzdiNDkzMTgwNWZkNjFkODQ5MGM3NjdfNy01LTEtMS01NjI3Mw_0c88eb6b-6fbe-4854-b0e9-c4c819085e96"
      unitRef="usd">496000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i71c7a5ced7b14ae6b5e11d56e051262f_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjY2MzBkZDVjYmM3YjQ5MzE4MDVmZDYxZDg0OTBjNzY3L3RhYmxlcmFuZ2U6NjYzMGRkNWNiYzdiNDkzMTgwNWZkNjFkODQ5MGM3NjdfNy03LTEtMS01NjI3Mw_c7401c2d-a5c0-46b0-89c0-b9cf3c5ee7fe"
      unitRef="usd">416000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjY2MzBkZDVjYmM3YjQ5MzE4MDVmZDYxZDg0OTBjNzY3L3RhYmxlcmFuZ2U6NjYzMGRkNWNiYzdiNDkzMTgwNWZkNjFkODQ5MGM3NjdfOC0xLTEtMS01NjI3Mw_c5052ad0-9062-450a-98ad-4ec0919711b7"
      unitRef="usd">360000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjY2MzBkZDVjYmM3YjQ5MzE4MDVmZDYxZDg0OTBjNzY3L3RhYmxlcmFuZ2U6NjYzMGRkNWNiYzdiNDkzMTgwNWZkNjFkODQ5MGM3NjdfOC0zLTEtMS01NjI3Mw_4a0f4f7c-16bf-4ce7-87ea-3bf2bd086ce7"
      unitRef="usd">610000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjY2MzBkZDVjYmM3YjQ5MzE4MDVmZDYxZDg0OTBjNzY3L3RhYmxlcmFuZ2U6NjYzMGRkNWNiYzdiNDkzMTgwNWZkNjFkODQ5MGM3NjdfOC01LTEtMS01NjI3Mw_ca055766-830b-4d3a-960a-28c5caec220d"
      unitRef="usd">5169000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjY2MzBkZDVjYmM3YjQ5MzE4MDVmZDYxZDg0OTBjNzY3L3RhYmxlcmFuZ2U6NjYzMGRkNWNiYzdiNDkzMTgwNWZkNjFkODQ5MGM3NjdfOC03LTEtMS01NjI3Mw_b0fb110e-e2a2-4404-9e80-ae2b1f8b1bc8"
      unitRef="usd">3496000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:ScheduleOfTreasuryStockByClassTextBlock
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RleHRyZWdpb246MDBlNGQwZmIzMWUyNDhhZjhjYmJmZTI3M2NkNDlkYzNfOTUxOQ_392fa3c0-059b-407a-8a90-c6e2b8c97205">&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the treasury stock activity during the six months ended April&#160;30, 2023:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:79.455%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.345%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30, 2023&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning Balance as of November 1, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,081,806&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock awards granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(94,700)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance restricted stock units vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(32,680)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock options exercised&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,000)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Treasury stock repurchases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;275,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at April 30, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,224,426&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfTreasuryStockByClassTextBlock>
    <us-gaap:TreasuryStockShares
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjA2N2Y1ZjEyOTNjNTQ1NWZiNjY3ZmRkYTY4OTMwYmNlL3RhYmxlcmFuZ2U6MDY3ZjVmMTI5M2M1NDU1ZmI2NjdmZGRhNjg5MzBiY2VfMi0xLTEtMS01NjI3Mw_101581e9-262c-4767-8f6f-e07341245439"
      unitRef="shares">4081806</us-gaap:TreasuryStockShares>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i4b3108cb6e7449dfbe685b15395ecc71_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjA2N2Y1ZjEyOTNjNTQ1NWZiNjY3ZmRkYTY4OTMwYmNlL3RhYmxlcmFuZ2U6MDY3ZjVmMTI5M2M1NDU1ZmI2NjdmZGRhNjg5MzBiY2VfMy0xLTEtMS01NjI3Mw_7d07fb9c-7f1f-4373-87e7-4dffed1f8edf"
      unitRef="shares">94700</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="ife3e401e84ea42a19790e444c2527ac8_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjA2N2Y1ZjEyOTNjNTQ1NWZiNjY3ZmRkYTY4OTMwYmNlL3RhYmxlcmFuZ2U6MDY3ZjVmMTI5M2M1NDU1ZmI2NjdmZGRhNjg5MzBiY2VfNC0xLTEtMS01NjI3Mw_7a340a13-f7d3-496e-96ee-4a63e1bf8582"
      unitRef="shares">32680</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i5b338e4254984e949076851985777086_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjA2N2Y1ZjEyOTNjNTQ1NWZiNjY3ZmRkYTY4OTMwYmNlL3RhYmxlcmFuZ2U6MDY3ZjVmMTI5M2M1NDU1ZmI2NjdmZGRhNjg5MzBiY2VfNS0xLTEtMS01NjI3Mw_3dac390a-124a-40e6-835b-00b2db4a807d"
      unitRef="shares">5000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjA2N2Y1ZjEyOTNjNTQ1NWZiNjY3ZmRkYTY4OTMwYmNlL3RhYmxlcmFuZ2U6MDY3ZjVmMTI5M2M1NDU1ZmI2NjdmZGRhNjg5MzBiY2VfNi0xLTEtMS01NjI3Mw_ff9048f7-2fdf-4f0d-869d-b5453c1adbe2"
      unitRef="shares">275000</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:TreasuryStockShares
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF83My9mcmFnOjAwZTRkMGZiMzFlMjQ4YWY4Y2JiZmUyNzNjZDQ5ZGMzL3RhYmxlOjA2N2Y1ZjEyOTNjNTQ1NWZiNjY3ZmRkYTY4OTMwYmNlL3RhYmxlcmFuZ2U6MDY3ZjVmMTI5M2M1NDU1ZmI2NjdmZGRhNjg5MzBiY2VfNy0xLTEtMS01NjI3Mw_9e53574b-fcfb-4309-ace3-5fa694d495f7"
      unitRef="shares">4224426</us-gaap:TreasuryStockShares>
    <us-gaap:SegmentReportingDisclosureTextBlock
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RleHRyZWdpb246YmQ5YjY5YTQ3NDFjNDlmOGEwM2ZkOWMwNGFiYWQ4MmRfMzQxNA_0af5512a-6a3d-4b97-ad5c-2b067635d802">Segment Information&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We present three reportable business segments (1) NA Fenestration, comprising four operating segments in 2023 (compared to &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;three&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; operating segments in 2022) primarily focused on the fenestration market in North America including vinyl profiles, insulating glass spacers, screens, custom compound mixing, and other fenestration components; (2) EU Fenestration, comprising our U.K.-based vinyl extrusion business, manufacturing vinyl profiles &amp;amp; conservatories, and the European insulating glass business manufacturing insulating glass spacers; and (3) NA Cabinet Components, comprising our cabinet door and components operations. The additional NA Fenestration operating segment in 2023 is related to the Acquisition of LMI, an advanced polymer solutions provider with a focus on advanced methods for mixing rubber compounds. For additional discussion of our Acquisition of LMI, see Note 2, &#x201c;Acquisition.&#x201d; Additionally, we maintain an Unallocated Corporate &amp;amp; Other  which includes transaction expenses, stock-based compensation, long-term incentive awards based on the performance of our common stock and other factors, certain severance, legal, and other costs not deemed to be allocable to all segments, depreciation of corporate assets, interest expense, other, net, income taxes and inter-segment eliminations, and executive incentive compensation and medical expense fluctuations relative to planned costs as determined during the annual planning process. Other general and administrative costs associated with the corporate office are allocated to the reportable segments, based upon a relative measure of profitability in order to more accurately reflect each reportable business segment's administrative costs. We allocate corporate expenses to businesses acquired mid-year from the date of acquisition. The accounting p&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;olicies of our operating segments are the same as those used to prepare the accompanying condensed consolidated financial statements. Corporate general and administrative expense allocated during the three and six month period ended April&#160;30, 2023 was $6.1&#160;million and $10.8&#160;million, respectively, and $5.5&#160;million and $11.3&#160;million for the comparable prior year periods.&lt;/span&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;ASC Topic 280-10-50, &#x201c;Segment Reporting&#x201d; (ASC 280) permits aggregation of operating segments based on factors including, but not limited to: (1) similar nature of products serving the building products industry, primarily the fenestration business; (2) similar production processes, although there are some differences in the amount of automation amongst operating plants; (3) similar types or classes of customers, namely the primary OEMs; (4) similar distribution methods for product delivery, although the extent of the use of third-party distributors will vary amongst the businesses; (5) similar regulatory environment; and (6) converging long-term economic similarities. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;margin-top:9pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Segment information for the three and six months ended April&#160;30, 2023 and 2022, and total assets as of April&#160;30, 2023 and October&#160;31, 2022 are summarized in the following table (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;margin-top:14pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:38.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.115%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.115%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.115%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.115%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.015%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;NA Fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;EU Fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;NA Cabinet Comp.&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Unallocated Corp. &amp;amp; Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;Three Months Ended April 30, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;156,975&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;63,763&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53,518&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(721)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;273,535&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Depreciation and amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,050&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,353&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,970&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;83&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,456&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,295&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,506&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;846&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;689&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,336&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Capital expenditures&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,859&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,481&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,492&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;Three Months Ended April 30, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;177,908&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;73,427&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;72,878&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,320)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;322,893&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Depreciation and amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,038&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,522&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,917&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;86&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,563&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating income (loss)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,221&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,596&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;568&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(835)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,550&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Capital expenditures&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,632&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,252&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,499&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,415&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;Six Months Ended April 30, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;309,955&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;118,715&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;108,192&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,411)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;535,451&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Depreciation and amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,295&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,701&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,904&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;176&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,076&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating income (loss)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,018&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,902&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(343)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10,838)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,739&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Capital expenditures&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,472&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,056&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,341&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;205&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,074&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;Six Months Ended April 30, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;324,539&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;132,341&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;135,231&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,178)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;589,933&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Depreciation and amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,177&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,091&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,380&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;172&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,820&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating income (loss)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,372&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,411&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(885)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,222)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,676&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Capital expenditures&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,937&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,206&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,572&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;70&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,785&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;As of April 30, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;385,283&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;238,604&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;162,154&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;36,071&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;822,112&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;As of October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;279,139&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;223,729&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;176,154&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;45,595&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;724,617&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:4pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the change in the carrying amount of goodwill by reportable business segment for the six months ended April&#160;30, 2023 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:37.992%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.117%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.117%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.117%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.117%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.032%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;NA Fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;EU Fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;NA Cabinet Comp.&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Unallocated Corp. &amp;amp; Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Balance as of October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,712&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;59,996&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,147&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;137,855&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;LMI acquisition&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,393&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,393&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign currency translation adjustment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,976&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,976&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Balance as of April 30, 2023&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;80,105&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;65,972&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,147&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;185,224&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:4pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For further details of Goodwill, see Note 5, &#x201c;Goodwill &amp;amp; Intangible Assets,&#x201d; located herewith.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We did not allocate non-operating loss or income tax benefit to the reportable segments. The following table reconciles operating income as reported above to net income for the three and six months ended April&#160;30, 2023 and 2022 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.321%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.501%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating income&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,336&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,550&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,739&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,676&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,244)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(602)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,503)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,125)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(29)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;453&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;189&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;507&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income tax expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,551)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,879)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,004)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10,297)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,512&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,522&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,421&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,761&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:NumberOfReportableSegments
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RleHRyZWdpb246YmQ5YjY5YTQ3NDFjNDlmOGEwM2ZkOWMwNGFiYWQ4MmRfNDA_0fbf5e28-6692-439a-bfa9-b8e514e8f912"
      unitRef="segment">3</us-gaap:NumberOfReportableSegments>
    <us-gaap:NumberOfOperatingSegments
      contextRef="ieb74387519554da0a70d98862a2e230f_D20221101-20230430"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RleHRyZWdpb246YmQ5YjY5YTQ3NDFjNDlmOGEwM2ZkOWMwNGFiYWQ4MmRfMzQzMQ_b14d6003-d5b1-4329-87cb-b7a2a68fc2ce"
      unitRef="segment">4</us-gaap:NumberOfOperatingSegments>
    <us-gaap:NumberOfOperatingSegments
      contextRef="i81f96e5ce6cd4d50b63ee36affeae6d0_D20211101-20220430"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RleHRyZWdpb246YmQ5YjY5YTQ3NDFjNDlmOGEwM2ZkOWMwNGFiYWQ4MmRfMTQ5_887bf1c7-4d2c-498c-a9e3-4a8104c561f9"
      unitRef="segment">3</us-gaap:NumberOfOperatingSegments>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RleHRyZWdpb246YmQ5YjY5YTQ3NDFjNDlmOGEwM2ZkOWMwNGFiYWQ4MmRfNTQ5NzU1ODE3Mzcx_4182d25d-d03c-4d96-9663-18444cdd0a19"
      unitRef="usd">6100000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RleHRyZWdpb246YmQ5YjY5YTQ3NDFjNDlmOGEwM2ZkOWMwNGFiYWQ4MmRfMjA3OA_e6ddac35-3c03-463a-a512-6007856c2884"
      unitRef="usd">10800000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RleHRyZWdpb246YmQ5YjY5YTQ3NDFjNDlmOGEwM2ZkOWMwNGFiYWQ4MmRfMjA4NQ_5ef55d95-1967-43d2-ac2f-8565ccc2d2fe"
      unitRef="usd">5500000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RleHRyZWdpb246YmQ5YjY5YTQ3NDFjNDlmOGEwM2ZkOWMwNGFiYWQ4MmRfNTQ5NzU1ODE3Mzgx_2bfa09d2-7f60-4948-a7be-57444fbcb827"
      unitRef="usd">11300000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RleHRyZWdpb246YmQ5YjY5YTQ3NDFjNDlmOGEwM2ZkOWMwNGFiYWQ4MmRfMzQxOA_589c3fe8-ac08-40e7-8798-cfb334337458">&lt;div style="margin-bottom:10pt;margin-top:9pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Segment information for the three and six months ended April&#160;30, 2023 and 2022, and total assets as of April&#160;30, 2023 and October&#160;31, 2022 are summarized in the following table (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;margin-top:14pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:38.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.115%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.115%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.115%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.115%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.015%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;NA Fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;EU Fenestration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;NA Cabinet Comp.&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Unallocated Corp. &amp;amp; Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;Three Months Ended April 30, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;156,975&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;63,763&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53,518&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(721)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;273,535&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Depreciation and amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,050&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,353&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,970&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;83&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,456&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,295&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,506&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;846&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;689&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,336&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Capital expenditures&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,859&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,481&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,492&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;Three Months Ended April 30, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;177,908&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;73,427&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;72,878&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,320)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;322,893&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Depreciation and amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,038&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,522&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,917&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;86&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,563&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating income (loss)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,221&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,596&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;568&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(835)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,550&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Capital expenditures&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,632&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,252&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,499&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,415&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;Six Months Ended April 30, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;309,955&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;118,715&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;108,192&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,411)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;535,451&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Depreciation and amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,295&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,701&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,904&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;176&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,076&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating income (loss)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,018&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,902&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(343)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10,838)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,739&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Capital expenditures&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,472&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,056&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,341&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;205&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,074&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;Six Months Ended April 30, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;324,539&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;132,341&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;135,231&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,178)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;589,933&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Depreciation and amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,177&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,091&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,380&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;172&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,820&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating income (loss)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,372&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,411&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(885)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,222)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,676&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Capital expenditures&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,937&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,206&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,572&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;70&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,785&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;As of April 30, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;385,283&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;238,604&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;162,154&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;36,071&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;822,112&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;As of October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;279,139&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;223,729&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;176,154&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;45,595&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;724,617&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i688fdfe3f72f4536aec9134e6d39f4d6_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMi0xLTEtMS01NjI3Mw_88a52aab-5ab9-4b34-a709-5da21405f1d6"
      unitRef="usd">156975000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i55a7460c21b1407ba995e72025a5851e_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMi0zLTEtMS01NjI3Mw_a7cad727-57fd-4a74-bda6-dadcfbe6e9bf"
      unitRef="usd">63763000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6c8f1c0c714f48b7acc5c0c14acdd2f6_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMi01LTEtMS01NjI3Mw_68121a5e-ecf5-4d18-bf40-e81f0ca5cac9"
      unitRef="usd">53518000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4ea3c91fcdf240ed9c576aa9fa680b42_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMi03LTEtMS01NjI3Mw_ca8e73e8-0518-45b0-828f-56554ea61eee"
      unitRef="usd">-721000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMi05LTEtMS01NjI3Mw_52e3fb21-00e3-4ed5-9c76-803df20af125"
      unitRef="usd">273535000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i688fdfe3f72f4536aec9134e6d39f4d6_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMy0xLTEtMS01NjI3Mw_c2608219-16e3-4637-9ed2-f0a44a9af14f"
      unitRef="usd">5050000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i55a7460c21b1407ba995e72025a5851e_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMy0zLTEtMS01NjI3Mw_2325d110-8d03-47c2-a231-8d77780728eb"
      unitRef="usd">2353000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i6c8f1c0c714f48b7acc5c0c14acdd2f6_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMy01LTEtMS01NjI3Mw_9fc66fd0-2975-466a-856f-1d77457cd0ee"
      unitRef="usd">2970000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i4ea3c91fcdf240ed9c576aa9fa680b42_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMy03LTEtMS01NjI3Mw_5f8531bf-ffad-4076-b683-f6028259e8de"
      unitRef="usd">83000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMy05LTEtMS01NjI3Mw_84a8abb1-649a-4ddf-9ac3-c319597acfc4"
      unitRef="usd">10456000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:OperatingIncomeLoss
      contextRef="i688fdfe3f72f4536aec9134e6d39f4d6_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfNC0xLTEtMS01NjI3Mw_59a56af5-7d45-43b2-b66a-33761e7c2a86"
      unitRef="usd">15295000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i55a7460c21b1407ba995e72025a5851e_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfNC0zLTEtMS01NjI3Mw_032f2634-0393-41c7-ad2e-05bb97122bd6"
      unitRef="usd">12506000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i6c8f1c0c714f48b7acc5c0c14acdd2f6_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfNC01LTEtMS01NjI3Mw_0f867a40-8f91-4b1c-aee0-6ad70490a12b"
      unitRef="usd">846000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i4ea3c91fcdf240ed9c576aa9fa680b42_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfNC03LTEtMS01NjI3Mw_76133f3a-87fb-4943-b68e-b4a25cafa8f0"
      unitRef="usd">689000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfNC05LTEtMS01NjI3Mw_2630bd41-5c9a-4337-9b43-ae8748b09558"
      unitRef="usd">29336000</us-gaap:OperatingIncomeLoss>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i688fdfe3f72f4536aec9134e6d39f4d6_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfNS0xLTEtMS01NjI3Mw_50981940-c367-467c-b618-9fcc89861dcd"
      unitRef="usd">4859000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i55a7460c21b1407ba995e72025a5851e_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfNS0zLTEtMS01NjI3Mw_fce02e80-96b4-4798-b8ac-05a0cca5f3f2"
      unitRef="usd">1100000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i6c8f1c0c714f48b7acc5c0c14acdd2f6_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfNS01LTEtMS01NjI3Mw_bc627dc1-cb8c-4774-9388-c50893a707e7"
      unitRef="usd">1481000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i4ea3c91fcdf240ed9c576aa9fa680b42_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfNS03LTEtMS01NjI3Mw_2e7a9699-7ac4-4cdd-bb4e-03787059ef92"
      unitRef="usd">52000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfNS05LTEtMS01NjI3Mw_730c322d-5e44-4688-ab34-ee014566970b"
      unitRef="usd">7492000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i889d75243cee4741bf3b07c83346ce03_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfNy0xLTEtMS01NjI3Mw_d7d85e5d-f060-4608-ac6c-00f87f87420d"
      unitRef="usd">177908000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i342dc7414f4e44599ce55d67b21e77b8_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfNy0zLTEtMS01NjI3Mw_c1a9aba3-1db4-4987-b315-2e12ff55c2f2"
      unitRef="usd">73427000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ibc944a8338dc4d108f9cc8feb1e9f8c8_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfNy01LTEtMS01NjI3Mw_03e7956a-0be3-4da8-8e06-3b2f06b67ecc"
      unitRef="usd">72878000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="idb0ae1902ebd4e4aa78f7e13fdd03ea6_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfNy03LTEtMS01NjI3Mw_1c86d44f-7a3c-4588-8777-eced9ece1c35"
      unitRef="usd">-1320000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfNy05LTEtMS01NjI3Mw_6085dd4b-8d80-4084-a8c5-6e6252bac483"
      unitRef="usd">322893000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i889d75243cee4741bf3b07c83346ce03_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfOC0xLTEtMS01NjI3Mw_9f5ebe73-f3be-4573-b0d3-06ee0a805ad2"
      unitRef="usd">4038000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i342dc7414f4e44599ce55d67b21e77b8_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfOC0zLTEtMS01NjI3Mw_902ee9e8-1ef9-4fe4-867f-d6e3c564d9f5"
      unitRef="usd">2522000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="ibc944a8338dc4d108f9cc8feb1e9f8c8_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfOC01LTEtMS01NjI3Mw_1bdd26c8-898a-4755-8af0-b6b4a10d11f5"
      unitRef="usd">3917000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="idb0ae1902ebd4e4aa78f7e13fdd03ea6_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfOC03LTEtMS01NjI3Mw_a698a356-e287-4614-9cb4-b34b715f0b3c"
      unitRef="usd">86000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfOC05LTEtMS01NjI3Mw_0c3e14e6-6b04-41f5-8d03-2da8cf21bb9d"
      unitRef="usd">10563000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:OperatingIncomeLoss
      contextRef="i889d75243cee4741bf3b07c83346ce03_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfOS0xLTEtMS01NjI3Mw_4ba2757a-ee4a-410a-85f4-c18b33673334"
      unitRef="usd">22221000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i342dc7414f4e44599ce55d67b21e77b8_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfOS0zLTEtMS01NjI3Mw_434f5d1b-edc1-4bdd-95df-03660d1db272"
      unitRef="usd">12596000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="ibc944a8338dc4d108f9cc8feb1e9f8c8_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfOS01LTEtMS01NjI3Mw_089d7723-e04b-49fd-a1d2-e96f740567ec"
      unitRef="usd">568000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="idb0ae1902ebd4e4aa78f7e13fdd03ea6_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfOS03LTEtMS01NjI3Mw_32ea853c-9ea6-471f-9b28-45c7caf3c802"
      unitRef="usd">-835000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfOS05LTEtMS01NjI3Mw_6a2dcf5a-6fed-4b0d-afb1-2379cd97a2ce"
      unitRef="usd">34550000</us-gaap:OperatingIncomeLoss>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i889d75243cee4741bf3b07c83346ce03_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMTAtMS0xLTEtNTYyNzM_933c84fd-f8d9-404a-97fc-ee27016e95ee"
      unitRef="usd">3632000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i342dc7414f4e44599ce55d67b21e77b8_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMTAtMy0xLTEtNTYyNzM_62464311-33ab-4ef6-85e4-baf1a28d6b71"
      unitRef="usd">1252000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="ibc944a8338dc4d108f9cc8feb1e9f8c8_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMTAtNS0xLTEtNTYyNzM_6071a137-1b58-4704-b82d-c51e3b1e14d4"
      unitRef="usd">1499000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="idb0ae1902ebd4e4aa78f7e13fdd03ea6_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMTAtNy0xLTEtNTYyNzM_a62f5548-2321-412f-b7a4-f9d9b7c3b31a"
      unitRef="usd">32000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMTAtOS0xLTEtNTYyNzM_384a8bbe-b5ea-45ce-a92b-9921f08af050"
      unitRef="usd">6415000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib629f9bda4f247a0b5fc982ffba70296_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMTItMS0xLTEtNTYyNzM_54d91c1d-4d6f-49e2-a65d-6f0a8273bc3a"
      unitRef="usd">309955000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i76b2953f782f46d889fef6a68cc6facb_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMTItMy0xLTEtNTYyNzM_e52d9fb5-0f4e-4c2a-93da-9f2d55b09256"
      unitRef="usd">118715000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i15abfd703e844ca6b5de13a95882cc87_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMTItNS0xLTEtNTYyNzM_8c7bca09-f0d8-4590-9969-5fc029cc4f77"
      unitRef="usd">108192000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1819ae025453449e801309c73c9bab72_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMTItNy0xLTEtNTYyNzM_503547b5-896c-4da9-b9ed-f15d77b63d34"
      unitRef="usd">-1411000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMTItOS0xLTEtNTYyNzM_834b949b-d899-4e51-9e1a-66dc6d60b441"
      unitRef="usd">535451000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="ib629f9bda4f247a0b5fc982ffba70296_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMTMtMS0xLTEtNTYyNzM_b20d4d6a-ee89-4d18-8bff-efcccf1659ab"
      unitRef="usd">10295000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i76b2953f782f46d889fef6a68cc6facb_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMTMtMy0xLTEtNTYyNzM_e86ed442-f70a-414f-aa31-fe5715bb68e1"
      unitRef="usd">4701000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i15abfd703e844ca6b5de13a95882cc87_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMTMtNS0xLTEtNTYyNzM_c5a3e6be-b993-4d47-9e97-857e41a9fccd"
      unitRef="usd">5904000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i1819ae025453449e801309c73c9bab72_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMTMtNy0xLTEtNTYyNzM_d4f5e6ff-65c3-4ee6-a946-29e562d9bcd9"
      unitRef="usd">176000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMTMtOS0xLTEtNTYyNzM_01bdaf43-2fe2-4ea0-901e-3a30848ed6c4"
      unitRef="usd">21076000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:OperatingIncomeLoss
      contextRef="ib629f9bda4f247a0b5fc982ffba70296_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMTQtMS0xLTEtNTYyNzM_0e97f120-8d63-4092-be7b-61ff94b2d105"
      unitRef="usd">25018000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i76b2953f782f46d889fef6a68cc6facb_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMTQtMy0xLTEtNTYyNzM_1c635d05-7ccf-4462-bc3e-ae1cc4c6b210"
      unitRef="usd">19902000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i15abfd703e844ca6b5de13a95882cc87_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMTQtNS0xLTEtNTYyNzM_e9ebbb59-023f-4784-b93c-8f38d17b709b"
      unitRef="usd">-343000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i1819ae025453449e801309c73c9bab72_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMTQtNy0xLTEtNTYyNzM_e070ccd6-46b4-4408-a56a-c55c7234e2fa"
      unitRef="usd">-10838000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMTQtOS0xLTEtNTYyNzM_32399805-e46f-4d1b-b0d8-83bc1392e0f4"
      unitRef="usd">33739000</us-gaap:OperatingIncomeLoss>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="ib629f9bda4f247a0b5fc982ffba70296_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMTUtMS0xLTEtNTYyNzM_4b221e8a-b333-4e3a-ba51-61248c488474"
      unitRef="usd">8472000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i76b2953f782f46d889fef6a68cc6facb_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMTUtMy0xLTEtNTYyNzM_0dcbfd0e-07f6-4513-816f-2c17e9bb72da"
      unitRef="usd">3056000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i15abfd703e844ca6b5de13a95882cc87_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMTUtNS0xLTEtNTYyNzM_8f8bfd57-47bc-412b-99f4-67befd639bf0"
      unitRef="usd">3341000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i1819ae025453449e801309c73c9bab72_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMTUtNy0xLTEtNTYyNzM_26595c1e-6316-4d9a-9a51-137df8616b51"
      unitRef="usd">205000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMTUtOS0xLTEtNTYyNzM_cf70f1e4-5a90-457d-abe5-50921852ac4a"
      unitRef="usd">15074000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i24f392c0aafd4716bfbfa6a3d8d44831_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMTctMS0xLTEtNTYyNzM_5a4b9439-19c0-4cab-a32b-c02d6f1330c6"
      unitRef="usd">324539000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie3e00d77b5f745349e02e06d2de802d7_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMTctMy0xLTEtNTYyNzM_224d4ef1-9fb2-48df-b948-c8242e504739"
      unitRef="usd">132341000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i86b2c2ec903b4e73be0130fdcad80ae9_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMTctNS0xLTEtNTYyNzM_16c513ae-2994-4159-8518-25a234d5e27a"
      unitRef="usd">135231000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if0c1072e4ec046e0b8191e7db0e42224_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMTctNy0xLTEtNTYyNzM_cc1c394b-d714-42e1-98f7-b45cf84f5327"
      unitRef="usd">-2178000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMTctOS0xLTEtNTYyNzM_ebfddf8f-9700-4a27-ba81-0c46db2b6e01"
      unitRef="usd">589933000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i24f392c0aafd4716bfbfa6a3d8d44831_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMTgtMS0xLTEtNTYyNzM_938c3ec1-0ed8-44cf-be13-a04c603a41aa"
      unitRef="usd">8177000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i24f392c0aafd4716bfbfa6a3d8d44831_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMTgtMS0xLTEtNTYyNzM_973941d1-8273-4288-aedf-bf8ec3e561bf"
      unitRef="usd">8177000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="ie3e00d77b5f745349e02e06d2de802d7_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMTgtMy0xLTEtNTYyNzM_7479ed5b-3d3e-4392-8620-d002caffb78c"
      unitRef="usd">5091000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="ie3e00d77b5f745349e02e06d2de802d7_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMTgtMy0xLTEtNTYyNzM_c77ed73c-98a9-41b3-8fd4-619ec906f7e0"
      unitRef="usd">5091000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i86b2c2ec903b4e73be0130fdcad80ae9_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMTgtNS0xLTEtNTYyNzM_7abe151d-f3f4-4076-83b5-53b9a09a799b"
      unitRef="usd">7380000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i86b2c2ec903b4e73be0130fdcad80ae9_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMTgtNS0xLTEtNTYyNzM_833eb5a4-cdce-40be-982f-209cb2d2ebac"
      unitRef="usd">7380000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="if0c1072e4ec046e0b8191e7db0e42224_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMTgtNy0xLTEtNTYyNzM_13a1d707-d270-46a0-bf71-2ec05ee91d0f"
      unitRef="usd">172000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="if0c1072e4ec046e0b8191e7db0e42224_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMTgtNy0xLTEtNTYyNzM_1bb3ebc7-7ab1-48e3-8af6-79c3f006c6d9"
      unitRef="usd">172000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMTgtOS0xLTEtNTYyNzM_417b39e2-7ec7-4471-b590-f249cee3f89f"
      unitRef="usd">20820000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMTgtOS0xLTEtNTYyNzM_aab25956-217b-45fa-8602-9af481a30417"
      unitRef="usd">20820000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:OperatingIncomeLoss
      contextRef="i24f392c0aafd4716bfbfa6a3d8d44831_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMTktMS0xLTEtNTYyNzM_b4773c12-f7e0-45dd-84c2-0980fa798255"
      unitRef="usd">34372000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="ie3e00d77b5f745349e02e06d2de802d7_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMTktMy0xLTEtNTYyNzM_9d6939ba-e80a-4761-bfd9-dc8e43e7023e"
      unitRef="usd">20411000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i86b2c2ec903b4e73be0130fdcad80ae9_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMTktNS0xLTEtNTYyNzM_f9c98678-941e-46e3-b7da-78c072820e76"
      unitRef="usd">-885000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="if0c1072e4ec046e0b8191e7db0e42224_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMTktNy0xLTEtNTYyNzM_cb973f9d-97aa-46c7-9728-9eab729d3d66"
      unitRef="usd">-5222000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMTktOS0xLTEtNTYyNzM_d5886387-c809-45fc-b40e-08a0c4b27130"
      unitRef="usd">48676000</us-gaap:OperatingIncomeLoss>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i24f392c0aafd4716bfbfa6a3d8d44831_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMjAtMS0xLTEtNTYyNzM_7c016f28-bb86-48fd-9c9d-cc5181104a28"
      unitRef="usd">8937000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i24f392c0aafd4716bfbfa6a3d8d44831_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMjAtMS0xLTEtNTYyNzM_f7d5cfe9-cc10-4c61-b86c-856636be7f04"
      unitRef="usd">8937000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="ie3e00d77b5f745349e02e06d2de802d7_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMjAtMy0xLTEtNTYyNzM_1e5e0530-d144-4289-83cd-e874b5dadff6"
      unitRef="usd">2206000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="ie3e00d77b5f745349e02e06d2de802d7_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMjAtMy0xLTEtNTYyNzM_9c800f93-8996-4d79-8004-e9a813d63116"
      unitRef="usd">2206000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i86b2c2ec903b4e73be0130fdcad80ae9_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMjAtNS0xLTEtNTYyNzM_4af77053-0920-475e-9de4-4e014d50612d"
      unitRef="usd">2572000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i86b2c2ec903b4e73be0130fdcad80ae9_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMjAtNS0xLTEtNTYyNzM_e5329fc2-3f10-4720-b0fd-9f4e03b6ffdd"
      unitRef="usd">2572000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="if0c1072e4ec046e0b8191e7db0e42224_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMjAtNy0xLTEtNTYyNzM_2164d495-c0c2-4a10-9ee3-4fe226d1d0a9"
      unitRef="usd">70000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="if0c1072e4ec046e0b8191e7db0e42224_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMjAtNy0xLTEtNTYyNzM_d47b8cdd-95c6-44d8-8085-54c5a5232799"
      unitRef="usd">70000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMjAtOS0xLTEtNTYyNzM_a529af20-0d6c-44a8-a8f7-f724b02ed9d7"
      unitRef="usd">13785000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMjAtOS0xLTEtNTYyNzM_d399bd58-1de9-4bbe-9b3b-be9f8d2d2cc3"
      unitRef="usd">13785000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:Assets
      contextRef="i6653376759a644aba6b0c1abef41957b_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMjItMS0xLTEtNTYyNzM_89d75d4c-d862-4540-b645-dd96fe90b1ea"
      unitRef="usd">385283000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="id70b6c867afc4335a6167788427347a5_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMjItMy0xLTEtNTYyNzM_f70c03a5-7275-4b34-9e79-77a02c51ed4f"
      unitRef="usd">238604000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i86968fe091d04fbba585c7dfbe48f3e5_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMjItNS0xLTEtNTYyNzM_86e291ec-0dfa-443e-8070-764da40c9f6e"
      unitRef="usd">162154000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i59813c18c7b9493badb108a252e2496a_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMjItNy0xLTEtNTYyNzM_b30c2124-2a9b-4818-b452-77cb0f4d4476"
      unitRef="usd">36071000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMjItOS0xLTEtNTYyNzM_0f558ee9-e14d-4368-9cde-a18b668f5914"
      unitRef="usd">822112000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="iec1c05c95898459699d7996126e16c44_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMjQtMS0xLTEtNTYyNzM_58060f39-b337-40fb-896d-45f692264bf7"
      unitRef="usd">279139000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="ic4e29b82959a42f5b64d33e7b6e3b4a3_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMjQtMy0xLTEtNTYyNzM_41f32173-bcd7-43dd-96a3-f33e16f98906"
      unitRef="usd">223729000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i5198afb47fe44d74a40a773f60b9ffd1_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMjQtNS0xLTEtNTYyNzM_e9fa7933-781c-4a05-800d-ad2de432e38a"
      unitRef="usd">176154000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i3e5c49814bab40eb8d1c11869fe52b67_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMjQtNy0xLTEtNTYyNzM_e4415946-100d-46ac-a716-568779087add"
      unitRef="usd">45595000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmIzOGE1ODFmMjJhYTQxYTJiN2RjMDdmZmFhYzdmNWNmL3RhYmxlcmFuZ2U6YjM4YTU4MWYyMmFhNDFhMmI3ZGMwN2ZmYWFjN2Y1Y2ZfMjQtOS0xLTEtNTYyNzM_9d033ad6-089d-4dad-9083-8c8272e2012c"
      unitRef="usd">724617000</us-gaap:Assets>
    <us-gaap:Goodwill
      contextRef="iec1c05c95898459699d7996126e16c44_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmNjMmY3MzhmMTUyMTQyMmJiZDI0NzgxZGRkNDM1MDQwL3RhYmxlcmFuZ2U6Y2MyZjczOGYxNTIxNDIyYmJkMjQ3ODFkZGQ0MzUwNDBfMS0xLTEtMS01NjI3Mw_86284683-9202-43cb-87bb-155c36d5ff25"
      unitRef="usd">38712000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ic4e29b82959a42f5b64d33e7b6e3b4a3_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmNjMmY3MzhmMTUyMTQyMmJiZDI0NzgxZGRkNDM1MDQwL3RhYmxlcmFuZ2U6Y2MyZjczOGYxNTIxNDIyYmJkMjQ3ODFkZGQ0MzUwNDBfMS0zLTEtMS01NjI3Mw_1f08ebb6-7f51-48d5-88d4-6a89ead4d4f2"
      unitRef="usd">59996000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i5198afb47fe44d74a40a773f60b9ffd1_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmNjMmY3MzhmMTUyMTQyMmJiZDI0NzgxZGRkNDM1MDQwL3RhYmxlcmFuZ2U6Y2MyZjczOGYxNTIxNDIyYmJkMjQ3ODFkZGQ0MzUwNDBfMS01LTEtMS01NjI3Mw_323bd713-4256-48f8-98cb-3ab4568bdf97"
      unitRef="usd">39147000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i3e5c49814bab40eb8d1c11869fe52b67_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmNjMmY3MzhmMTUyMTQyMmJiZDI0NzgxZGRkNDM1MDQwL3RhYmxlcmFuZ2U6Y2MyZjczOGYxNTIxNDIyYmJkMjQ3ODFkZGQ0MzUwNDBfMS03LTEtMS01NjI3Mw_038330ea-2651-47b1-8258-802a7460fe7f"
      unitRef="usd">0</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i382b0eeee5b541edb718989bf05d72f4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmNjMmY3MzhmMTUyMTQyMmJiZDI0NzgxZGRkNDM1MDQwL3RhYmxlcmFuZ2U6Y2MyZjczOGYxNTIxNDIyYmJkMjQ3ODFkZGQ0MzUwNDBfMS05LTEtMS01NjI3Mw_b2c1742b-a1f2-4116-a1c1-62aaa4ba1f77"
      unitRef="usd">137855000</us-gaap:Goodwill>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="ib629f9bda4f247a0b5fc982ffba70296_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmNjMmY3MzhmMTUyMTQyMmJiZDI0NzgxZGRkNDM1MDQwL3RhYmxlcmFuZ2U6Y2MyZjczOGYxNTIxNDIyYmJkMjQ3ODFkZGQ0MzUwNDBfMy0xLTEtMS01NjI3Mw_48afa860-c69c-4dbf-8eed-ff89707ba16c"
      unitRef="usd">41393000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmNjMmY3MzhmMTUyMTQyMmJiZDI0NzgxZGRkNDM1MDQwL3RhYmxlcmFuZ2U6Y2MyZjczOGYxNTIxNDIyYmJkMjQ3ODFkZGQ0MzUwNDBfMy05LTEtMS01NjI3Mw_4d282d71-2c05-4cd9-a00e-affe560a4c4e"
      unitRef="usd">41393000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="ib629f9bda4f247a0b5fc982ffba70296_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmNjMmY3MzhmMTUyMTQyMmJiZDI0NzgxZGRkNDM1MDQwL3RhYmxlcmFuZ2U6Y2MyZjczOGYxNTIxNDIyYmJkMjQ3ODFkZGQ0MzUwNDBfNC0xLTEtMS01NjI3Mw_c6eb78a7-7e96-446a-8545-2832aa33d3bf"
      unitRef="usd">0</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="i76b2953f782f46d889fef6a68cc6facb_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmNjMmY3MzhmMTUyMTQyMmJiZDI0NzgxZGRkNDM1MDQwL3RhYmxlcmFuZ2U6Y2MyZjczOGYxNTIxNDIyYmJkMjQ3ODFkZGQ0MzUwNDBfNC0zLTEtMS01NjI3Mw_5472c769-7f7d-4df1-b5e6-278f88d639be"
      unitRef="usd">5976000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="i15abfd703e844ca6b5de13a95882cc87_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmNjMmY3MzhmMTUyMTQyMmJiZDI0NzgxZGRkNDM1MDQwL3RhYmxlcmFuZ2U6Y2MyZjczOGYxNTIxNDIyYmJkMjQ3ODFkZGQ0MzUwNDBfNC01LTEtMS01NjI3Mw_29b5b5ce-89bb-4aa4-be4c-a5e8965297c8"
      unitRef="usd">0</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="i1819ae025453449e801309c73c9bab72_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmNjMmY3MzhmMTUyMTQyMmJiZDI0NzgxZGRkNDM1MDQwL3RhYmxlcmFuZ2U6Y2MyZjczOGYxNTIxNDIyYmJkMjQ3ODFkZGQ0MzUwNDBfNC03LTEtMS01NjI3Mw_a0c42e28-48ca-495b-8ce1-5f532323d325"
      unitRef="usd">0</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmNjMmY3MzhmMTUyMTQyMmJiZDI0NzgxZGRkNDM1MDQwL3RhYmxlcmFuZ2U6Y2MyZjczOGYxNTIxNDIyYmJkMjQ3ODFkZGQ0MzUwNDBfNC05LTEtMS01NjI3Mw_ffa45796-531c-4493-97f4-bbaa7a8d0c47"
      unitRef="usd">5976000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:Goodwill
      contextRef="i6653376759a644aba6b0c1abef41957b_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmNjMmY3MzhmMTUyMTQyMmJiZDI0NzgxZGRkNDM1MDQwL3RhYmxlcmFuZ2U6Y2MyZjczOGYxNTIxNDIyYmJkMjQ3ODFkZGQ0MzUwNDBfNS0xLTEtMS01NjI3Mw_fddcdc15-bdfc-470e-aeca-feaeb60182e5"
      unitRef="usd">80105000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="id70b6c867afc4335a6167788427347a5_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmNjMmY3MzhmMTUyMTQyMmJiZDI0NzgxZGRkNDM1MDQwL3RhYmxlcmFuZ2U6Y2MyZjczOGYxNTIxNDIyYmJkMjQ3ODFkZGQ0MzUwNDBfNS0zLTEtMS01NjI3Mw_4c076bb6-2bd2-4bcf-b786-ff5e94ae0062"
      unitRef="usd">65972000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i86968fe091d04fbba585c7dfbe48f3e5_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmNjMmY3MzhmMTUyMTQyMmJiZDI0NzgxZGRkNDM1MDQwL3RhYmxlcmFuZ2U6Y2MyZjczOGYxNTIxNDIyYmJkMjQ3ODFkZGQ0MzUwNDBfNS01LTEtMS01NjI3Mw_49d01692-a76a-40aa-87d4-edd2dab79358"
      unitRef="usd">39147000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i59813c18c7b9493badb108a252e2496a_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmNjMmY3MzhmMTUyMTQyMmJiZDI0NzgxZGRkNDM1MDQwL3RhYmxlcmFuZ2U6Y2MyZjczOGYxNTIxNDIyYmJkMjQ3ODFkZGQ0MzUwNDBfNS03LTEtMS01NjI3Mw_ec6f7576-79ca-4cb7-af9e-a7541d184706"
      unitRef="usd">0</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i8117a78ebe754c0d9b51d2b947e4b271_I20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOmNjMmY3MzhmMTUyMTQyMmJiZDI0NzgxZGRkNDM1MDQwL3RhYmxlcmFuZ2U6Y2MyZjczOGYxNTIxNDIyYmJkMjQ3ODFkZGQ0MzUwNDBfNS05LTEtMS01NjI3Mw_e36285bf-7187-4d97-b207-38d2779fdc44"
      unitRef="usd">185224000</us-gaap:Goodwill>
    <us-gaap:ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RleHRyZWdpb246YmQ5YjY5YTQ3NDFjNDlmOGEwM2ZkOWMwNGFiYWQ4MmRfMzQzNQ_849dc645-8510-4bee-862c-5b78fcd82673">&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We did not allocate non-operating loss or income tax benefit to the reportable segments. The following table reconciles operating income as reported above to net income for the three and six months ended April&#160;30, 2023 and 2022 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.321%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.501%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;April 30,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating income&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,336&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,550&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,739&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,676&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,244)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(602)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,503)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,125)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(29)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;453&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;189&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;507&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income tax expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,551)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,879)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,004)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10,297)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,512&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,522&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,421&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,761&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock>
    <us-gaap:OperatingIncomeLoss
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOjdkYjk5NzhmMDgyYTQzNTg4NTY1MDExMmJmNmZmODE5L3RhYmxlcmFuZ2U6N2RiOTk3OGYwODJhNDM1ODg1NjUwMTEyYmY2ZmY4MTlfMy0xLTEtMS01NjI3Mw_5a47da97-041f-4cbc-84f5-be85154ae9ef"
      unitRef="usd">29336000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOjdkYjk5NzhmMDgyYTQzNTg4NTY1MDExMmJmNmZmODE5L3RhYmxlcmFuZ2U6N2RiOTk3OGYwODJhNDM1ODg1NjUwMTEyYmY2ZmY4MTlfMy0zLTEtMS01NjI3Mw_a02b3d49-97d6-47ca-970a-d56d4b59cde3"
      unitRef="usd">34550000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOjdkYjk5NzhmMDgyYTQzNTg4NTY1MDExMmJmNmZmODE5L3RhYmxlcmFuZ2U6N2RiOTk3OGYwODJhNDM1ODg1NjUwMTEyYmY2ZmY4MTlfMy01LTEtMS01NjI3Mw_4eac080d-7b2f-4e7a-ba92-f257c74989e8"
      unitRef="usd">33739000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOjdkYjk5NzhmMDgyYTQzNTg4NTY1MDExMmJmNmZmODE5L3RhYmxlcmFuZ2U6N2RiOTk3OGYwODJhNDM1ODg1NjUwMTEyYmY2ZmY4MTlfMy01LTEtMS01NjI3Mw_f314e4cb-fa45-4ead-a88f-d6812448b905"
      unitRef="usd">33739000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOjdkYjk5NzhmMDgyYTQzNTg4NTY1MDExMmJmNmZmODE5L3RhYmxlcmFuZ2U6N2RiOTk3OGYwODJhNDM1ODg1NjUwMTEyYmY2ZmY4MTlfMy03LTEtMS01NjI3Mw_39a8beb8-0f9d-457e-a872-184e947c759d"
      unitRef="usd">48676000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOjdkYjk5NzhmMDgyYTQzNTg4NTY1MDExMmJmNmZmODE5L3RhYmxlcmFuZ2U6N2RiOTk3OGYwODJhNDM1ODg1NjUwMTEyYmY2ZmY4MTlfMy03LTEtMS01NjI3Mw_e754f586-e786-4df2-bc5b-32682049db20"
      unitRef="usd">48676000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestExpense
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOjdkYjk5NzhmMDgyYTQzNTg4NTY1MDExMmJmNmZmODE5L3RhYmxlcmFuZ2U6N2RiOTk3OGYwODJhNDM1ODg1NjUwMTEyYmY2ZmY4MTlfNC0xLTEtMS01NjI3Mw_38758938-bdaf-43f3-9abe-74080bf6f5bc"
      unitRef="usd">2244000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOjdkYjk5NzhmMDgyYTQzNTg4NTY1MDExMmJmNmZmODE5L3RhYmxlcmFuZ2U6N2RiOTk3OGYwODJhNDM1ODg1NjUwMTEyYmY2ZmY4MTlfNC0zLTEtMS01NjI3Mw_9a27910d-f30c-4deb-844b-b921e4cc0a90"
      unitRef="usd">602000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOjdkYjk5NzhmMDgyYTQzNTg4NTY1MDExMmJmNmZmODE5L3RhYmxlcmFuZ2U6N2RiOTk3OGYwODJhNDM1ODg1NjUwMTEyYmY2ZmY4MTlfNC01LTEtMS01NjI3Mw_4edc8414-a22e-441a-a305-b711b966a926"
      unitRef="usd">4503000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOjdkYjk5NzhmMDgyYTQzNTg4NTY1MDExMmJmNmZmODE5L3RhYmxlcmFuZ2U6N2RiOTk3OGYwODJhNDM1ODg1NjUwMTEyYmY2ZmY4MTlfNC03LTEtMS01NjI3Mw_c4b41da3-4e70-4f67-99bd-79d43aa3503e"
      unitRef="usd">1125000</us-gaap:InterestExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOjdkYjk5NzhmMDgyYTQzNTg4NTY1MDExMmJmNmZmODE5L3RhYmxlcmFuZ2U6N2RiOTk3OGYwODJhNDM1ODg1NjUwMTEyYmY2ZmY4MTlfNS0xLTEtMS01NjI3Mw_ef8c8772-0b23-4371-ad34-fdb432d0d5b2"
      unitRef="usd">-29000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOjdkYjk5NzhmMDgyYTQzNTg4NTY1MDExMmJmNmZmODE5L3RhYmxlcmFuZ2U6N2RiOTk3OGYwODJhNDM1ODg1NjUwMTEyYmY2ZmY4MTlfNS0zLTEtMS01NjI3Mw_dbaf7058-5a06-48c9-9ba2-ea46b4682b1d"
      unitRef="usd">453000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOjdkYjk5NzhmMDgyYTQzNTg4NTY1MDExMmJmNmZmODE5L3RhYmxlcmFuZ2U6N2RiOTk3OGYwODJhNDM1ODg1NjUwMTEyYmY2ZmY4MTlfNS01LTEtMS01NjI3Mw_f9c24411-2395-46a7-8764-97fdf0d9f266"
      unitRef="usd">189000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOjdkYjk5NzhmMDgyYTQzNTg4NTY1MDExMmJmNmZmODE5L3RhYmxlcmFuZ2U6N2RiOTk3OGYwODJhNDM1ODg1NjUwMTEyYmY2ZmY4MTlfNS03LTEtMS01NjI3Mw_06d0c7fb-1834-4b28-aab8-c828ba577ca5"
      unitRef="usd">507000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOjdkYjk5NzhmMDgyYTQzNTg4NTY1MDExMmJmNmZmODE5L3RhYmxlcmFuZ2U6N2RiOTk3OGYwODJhNDM1ODg1NjUwMTEyYmY2ZmY4MTlfNi0xLTEtMS01NjI3Mw_08713263-cf87-4e82-baa0-3dcff503cb42"
      unitRef="usd">5551000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOjdkYjk5NzhmMDgyYTQzNTg4NTY1MDExMmJmNmZmODE5L3RhYmxlcmFuZ2U6N2RiOTk3OGYwODJhNDM1ODg1NjUwMTEyYmY2ZmY4MTlfNi0zLTEtMS01NjI3Mw_5c8770d5-e22b-4a4f-a265-750685f9e22a"
      unitRef="usd">7879000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOjdkYjk5NzhmMDgyYTQzNTg4NTY1MDExMmJmNmZmODE5L3RhYmxlcmFuZ2U6N2RiOTk3OGYwODJhNDM1ODg1NjUwMTEyYmY2ZmY4MTlfNi01LTEtMS01NjI3Mw_2af9e7f3-606b-418c-bf36-260f86030fea"
      unitRef="usd">6004000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOjdkYjk5NzhmMDgyYTQzNTg4NTY1MDExMmJmNmZmODE5L3RhYmxlcmFuZ2U6N2RiOTk3OGYwODJhNDM1ODg1NjUwMTEyYmY2ZmY4MTlfNi03LTEtMS01NjI3Mw_c12bd3ef-34d6-46fb-a773-6290bf5a37a9"
      unitRef="usd">10297000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOjdkYjk5NzhmMDgyYTQzNTg4NTY1MDExMmJmNmZmODE5L3RhYmxlcmFuZ2U6N2RiOTk3OGYwODJhNDM1ODg1NjUwMTEyYmY2ZmY4MTlfNy0xLTEtMS01NjI3Mw_170cd28d-d5f1-4e63-8efe-3e32ed9c47c0"
      unitRef="usd">21512000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOjdkYjk5NzhmMDgyYTQzNTg4NTY1MDExMmJmNmZmODE5L3RhYmxlcmFuZ2U6N2RiOTk3OGYwODJhNDM1ODg1NjUwMTEyYmY2ZmY4MTlfNy0zLTEtMS01NjI3Mw_a3285eed-5d25-4d1e-81eb-16524310cc82"
      unitRef="usd">26522000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOjdkYjk5NzhmMDgyYTQzNTg4NTY1MDExMmJmNmZmODE5L3RhYmxlcmFuZ2U6N2RiOTk3OGYwODJhNDM1ODg1NjUwMTEyYmY2ZmY4MTlfNy01LTEtMS01NjI3Mw_b2aaa16e-1188-4dd8-9f28-b3a6a7e68748"
      unitRef="usd">23421000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84Mi9mcmFnOmJkOWI2OWE0NzQxYzQ5ZjhhMDNmZDljMDRhYmFkODJkL3RhYmxlOjdkYjk5NzhmMDgyYTQzNTg4NTY1MDExMmJmNmZmODE5L3RhYmxlcmFuZ2U6N2RiOTk3OGYwODJhNDM1ODg1NjUwMTEyYmY2ZmY4MTlfNy03LTEtMS01NjI3Mw_ae043637-00b7-400f-814f-c926f165fda1"
      unitRef="usd">37761000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84NS9mcmFnOjc5MzI0NDRlNzUwYzQxMTA5MWU3ZDZiODc5MmZjYjc5L3RleHRyZWdpb246NzkzMjQ0NGU3NTBjNDExMDkxZTdkNmI4NzkyZmNiNzlfMTAyMQ_71f8500b-b408-46df-969b-189ffd058a49">Earnings Per ShareWe compute basic earnings per share by dividing net income by the weighted-average number of common shares outstanding during the period. Diluted earnings per common and potential common shares include the weighted-average of additional shares associated with the incremental effect of dilutive employee stock options, non-vested restricted stock as determined using the treasury stock method prescribed by U.S. GAAP and contingent shares associated with performance share awards, if dilutive.&lt;div style="margin-top:8pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Basic and diluted earnings per share for the three and six months ended April&#160;30, 2023 and 2022 were calculated as follows (in thousands, except per share data):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:13pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:57.087%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.765%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.765%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.767%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Net Income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted-Average Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Per Share&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;Three Months Ended April 30, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic earnings per common share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,512&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,858&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.65&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;Effect of dilutive securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;106&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance restricted stock units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted earnings per common share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,512&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,017&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.65&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;Three Months Ended April 30, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic earnings per common share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,522&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,157&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.80&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;Effect of dilutive securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;82&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance restricted stock units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted earnings per common share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,522&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,291&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.80&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;Six Months Ended April 30, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic earnings per common share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,421&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,905&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.71&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;Effect of dilutive securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;109&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance restricted stock units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted earnings per common share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,421&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,070&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.71&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;Six Months Ended April 30, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic earnings per common share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,761&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,140&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.14&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;Effect of dilutive securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;95&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance restricted stock units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted earnings per common share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,761&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,292&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.13&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We do not include equity instruments in our calculation of diluted earnings per share if those instruments would be anti-dilutive. Such dilution is dependent on the excess of the market price of our stock over the exercise price and other components of the treasury stock method. There were no anti-dilutive instruments for the three and six months ended April&#160;30, 2023 and 2022.&lt;/span&gt;&lt;/div&gt;</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84NS9mcmFnOjc5MzI0NDRlNzUwYzQxMTA5MWU3ZDZiODc5MmZjYjc5L3RleHRyZWdpb246NzkzMjQ0NGU3NTBjNDExMDkxZTdkNmI4NzkyZmNiNzlfMTAyMw_bc7588f4-aef0-4042-bb4f-c514fe4238cf">&lt;div style="margin-top:8pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Basic and diluted earnings per share for the three and six months ended April&#160;30, 2023 and 2022 were calculated as follows (in thousands, except per share data):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:13pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:57.087%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.765%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.765%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.767%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Net Income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted-Average Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Per Share&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;Three Months Ended April 30, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic earnings per common share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,512&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,858&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.65&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;Effect of dilutive securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;106&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance restricted stock units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted earnings per common share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,512&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,017&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.65&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;Three Months Ended April 30, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic earnings per common share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,522&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,157&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.80&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;Effect of dilutive securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;82&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance restricted stock units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted earnings per common share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,522&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,291&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.80&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;Six Months Ended April 30, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic earnings per common share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,421&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,905&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.71&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;Effect of dilutive securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;109&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance restricted stock units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted earnings per common share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,421&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,070&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.71&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;Six Months Ended April 30, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic earnings per common share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,761&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,140&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.14&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;Effect of dilutive securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;95&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance restricted stock units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted earnings per common share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,761&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,292&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.13&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84NS9mcmFnOjc5MzI0NDRlNzUwYzQxMTA5MWU3ZDZiODc5MmZjYjc5L3RhYmxlOjhhZDEzYzU2YmQzNzRmZGFiNWJkMTZlYTM2YTE1YjdlL3RhYmxlcmFuZ2U6OGFkMTNjNTZiZDM3NGZkYWI1YmQxNmVhMzZhMTViN2VfMi0xLTEtMS01NjI3Mw_116d1c84-0e66-43e9-b444-a7d9d48908d7"
      unitRef="usd">21512000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84NS9mcmFnOjc5MzI0NDRlNzUwYzQxMTA5MWU3ZDZiODc5MmZjYjc5L3RhYmxlOjhhZDEzYzU2YmQzNzRmZGFiNWJkMTZlYTM2YTE1YjdlL3RhYmxlcmFuZ2U6OGFkMTNjNTZiZDM3NGZkYWI1YmQxNmVhMzZhMTViN2VfMi0zLTEtMS01NjI3Mw_86d28123-cb8c-441b-aa90-534e37558bfc"
      unitRef="shares">32858000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84NS9mcmFnOjc5MzI0NDRlNzUwYzQxMTA5MWU3ZDZiODc5MmZjYjc5L3RhYmxlOjhhZDEzYzU2YmQzNzRmZGFiNWJkMTZlYTM2YTE1YjdlL3RhYmxlcmFuZ2U6OGFkMTNjNTZiZDM3NGZkYWI1YmQxNmVhMzZhMTViN2VfMi01LTEtMS01NjI3Mw_a541861f-a6f1-4340-8de6-39665111b111"
      unitRef="usdPerShare">0.65</us-gaap:EarningsPerShareBasic>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="ic9ce383e58f54b9bb0786845c5be4bfb_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84NS9mcmFnOjc5MzI0NDRlNzUwYzQxMTA5MWU3ZDZiODc5MmZjYjc5L3RhYmxlOjhhZDEzYzU2YmQzNzRmZGFiNWJkMTZlYTM2YTE1YjdlL3RhYmxlcmFuZ2U6OGFkMTNjNTZiZDM3NGZkYWI1YmQxNmVhMzZhMTViN2VfNC0zLTEtMS01NjI3Mw_eb749a0c-004d-4bd7-b8e7-be5568543737"
      unitRef="shares">25000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="i19badb9df6d64ac9a6c76eb94c66c072_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84NS9mcmFnOjc5MzI0NDRlNzUwYzQxMTA5MWU3ZDZiODc5MmZjYjc5L3RhYmxlOjhhZDEzYzU2YmQzNzRmZGFiNWJkMTZlYTM2YTE1YjdlL3RhYmxlcmFuZ2U6OGFkMTNjNTZiZDM3NGZkYWI1YmQxNmVhMzZhMTViN2VfNS0zLTEtMS01NjI3Mw_8d96b578-79b7-4559-bcfe-74767a587a24"
      unitRef="shares">106000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="ibd1ef74482334a7cb9e587ab7af4c6ae_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84NS9mcmFnOjc5MzI0NDRlNzUwYzQxMTA5MWU3ZDZiODc5MmZjYjc5L3RhYmxlOjhhZDEzYzU2YmQzNzRmZGFiNWJkMTZlYTM2YTE1YjdlL3RhYmxlcmFuZ2U6OGFkMTNjNTZiZDM3NGZkYWI1YmQxNmVhMzZhMTViN2VfNy0zLTEtMS01NjI3Mw_69c72ebe-1483-4dbd-8a13-d14b5ed21d0f"
      unitRef="shares">28000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84NS9mcmFnOjc5MzI0NDRlNzUwYzQxMTA5MWU3ZDZiODc5MmZjYjc5L3RhYmxlOjhhZDEzYzU2YmQzNzRmZGFiNWJkMTZlYTM2YTE1YjdlL3RhYmxlcmFuZ2U6OGFkMTNjNTZiZDM3NGZkYWI1YmQxNmVhMzZhMTViN2VfOC0xLTEtMS01NjI3Mw_30b62d76-8885-4403-96b2-f89513eefd6d"
      unitRef="usd">21512000</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84NS9mcmFnOjc5MzI0NDRlNzUwYzQxMTA5MWU3ZDZiODc5MmZjYjc5L3RhYmxlOjhhZDEzYzU2YmQzNzRmZGFiNWJkMTZlYTM2YTE1YjdlL3RhYmxlcmFuZ2U6OGFkMTNjNTZiZDM3NGZkYWI1YmQxNmVhMzZhMTViN2VfOC0zLTEtMS01NjI3Mw_cd5660fe-b989-4499-93f2-33215c437b8b"
      unitRef="shares">33017000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare
      contextRef="i1603d4a3a1d64a59bc4b0f5474a2410f_D20230201-20230430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84NS9mcmFnOjc5MzI0NDRlNzUwYzQxMTA5MWU3ZDZiODc5MmZjYjc5L3RhYmxlOjhhZDEzYzU2YmQzNzRmZGFiNWJkMTZlYTM2YTE1YjdlL3RhYmxlcmFuZ2U6OGFkMTNjNTZiZDM3NGZkYWI1YmQxNmVhMzZhMTViN2VfOC01LTEtMS01NjI3Mw_d2487ce9-014b-4db3-a41b-bbc96ef98459"
      unitRef="usdPerShare">0.65</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84NS9mcmFnOjc5MzI0NDRlNzUwYzQxMTA5MWU3ZDZiODc5MmZjYjc5L3RhYmxlOjhhZDEzYzU2YmQzNzRmZGFiNWJkMTZlYTM2YTE1YjdlL3RhYmxlcmFuZ2U6OGFkMTNjNTZiZDM3NGZkYWI1YmQxNmVhMzZhMTViN2VfMTAtMS0xLTEtNTYyNzM_ba959db2-9ed1-42c2-a325-529c2cb402c5"
      unitRef="usd">26522000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84NS9mcmFnOjc5MzI0NDRlNzUwYzQxMTA5MWU3ZDZiODc5MmZjYjc5L3RhYmxlOjhhZDEzYzU2YmQzNzRmZGFiNWJkMTZlYTM2YTE1YjdlL3RhYmxlcmFuZ2U6OGFkMTNjNTZiZDM3NGZkYWI1YmQxNmVhMzZhMTViN2VfMTAtMy0xLTEtNTYyNzM_2937bc4c-fa75-4615-8926-bbcffca526e5"
      unitRef="shares">33157000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84NS9mcmFnOjc5MzI0NDRlNzUwYzQxMTA5MWU3ZDZiODc5MmZjYjc5L3RhYmxlOjhhZDEzYzU2YmQzNzRmZGFiNWJkMTZlYTM2YTE1YjdlL3RhYmxlcmFuZ2U6OGFkMTNjNTZiZDM3NGZkYWI1YmQxNmVhMzZhMTViN2VfMTAtNS0xLTEtNTYyNzM_7ffbba33-5787-4e66-ad48-65ac4a82e96a"
      unitRef="usdPerShare">0.80</us-gaap:EarningsPerShareBasic>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="i529a60c372b742f69fa36685ea9e3957_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84NS9mcmFnOjc5MzI0NDRlNzUwYzQxMTA5MWU3ZDZiODc5MmZjYjc5L3RhYmxlOjhhZDEzYzU2YmQzNzRmZGFiNWJkMTZlYTM2YTE1YjdlL3RhYmxlcmFuZ2U6OGFkMTNjNTZiZDM3NGZkYWI1YmQxNmVhMzZhMTViN2VfMTItMy0xLTEtNTYyNzM_a1680291-d5d7-4be9-b666-2719959fec85"
      unitRef="shares">24000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="i24c3223cb236478ab1d1f6eabaa417f7_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84NS9mcmFnOjc5MzI0NDRlNzUwYzQxMTA5MWU3ZDZiODc5MmZjYjc5L3RhYmxlOjhhZDEzYzU2YmQzNzRmZGFiNWJkMTZlYTM2YTE1YjdlL3RhYmxlcmFuZ2U6OGFkMTNjNTZiZDM3NGZkYWI1YmQxNmVhMzZhMTViN2VfMTMtMy0xLTEtNTYyNzM_553973e5-d5e6-4752-b2dc-0716dae4c949"
      unitRef="shares">82000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="ia6f5759f0f6544ffbd026a33b329b497_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84NS9mcmFnOjc5MzI0NDRlNzUwYzQxMTA5MWU3ZDZiODc5MmZjYjc5L3RhYmxlOjhhZDEzYzU2YmQzNzRmZGFiNWJkMTZlYTM2YTE1YjdlL3RhYmxlcmFuZ2U6OGFkMTNjNTZiZDM3NGZkYWI1YmQxNmVhMzZhMTViN2VfMTUtMy0xLTEtNTYyNzM_b300dcb8-a21d-4f99-b922-deb6557fd5dc"
      unitRef="shares">28000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84NS9mcmFnOjc5MzI0NDRlNzUwYzQxMTA5MWU3ZDZiODc5MmZjYjc5L3RhYmxlOjhhZDEzYzU2YmQzNzRmZGFiNWJkMTZlYTM2YTE1YjdlL3RhYmxlcmFuZ2U6OGFkMTNjNTZiZDM3NGZkYWI1YmQxNmVhMzZhMTViN2VfMTYtMS0xLTEtNTYyNzM_bef767b8-cf2e-4a36-870d-5cc8ec57118f"
      unitRef="usd">26522000</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84NS9mcmFnOjc5MzI0NDRlNzUwYzQxMTA5MWU3ZDZiODc5MmZjYjc5L3RhYmxlOjhhZDEzYzU2YmQzNzRmZGFiNWJkMTZlYTM2YTE1YjdlL3RhYmxlcmFuZ2U6OGFkMTNjNTZiZDM3NGZkYWI1YmQxNmVhMzZhMTViN2VfMTYtMy0xLTEtNTYyNzM_ccf9cf3a-de0e-4fe9-a20e-54d94a4df3f7"
      unitRef="shares">33291000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare
      contextRef="i0b57171374134aa4a1f1542ea65ddf33_D20220201-20220430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84NS9mcmFnOjc5MzI0NDRlNzUwYzQxMTA5MWU3ZDZiODc5MmZjYjc5L3RhYmxlOjhhZDEzYzU2YmQzNzRmZGFiNWJkMTZlYTM2YTE1YjdlL3RhYmxlcmFuZ2U6OGFkMTNjNTZiZDM3NGZkYWI1YmQxNmVhMzZhMTViN2VfMTYtNS0xLTEtNTYyNzM_71b914cf-4ab8-4f40-826a-0e01eab61f9c"
      unitRef="usdPerShare">0.80</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84NS9mcmFnOjc5MzI0NDRlNzUwYzQxMTA5MWU3ZDZiODc5MmZjYjc5L3RhYmxlOjhhZDEzYzU2YmQzNzRmZGFiNWJkMTZlYTM2YTE1YjdlL3RhYmxlcmFuZ2U6OGFkMTNjNTZiZDM3NGZkYWI1YmQxNmVhMzZhMTViN2VfMTgtMS0xLTEtNTYyNzM_3409b15a-099f-43a5-87ed-7061519e66d9"
      unitRef="usd">23421000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84NS9mcmFnOjc5MzI0NDRlNzUwYzQxMTA5MWU3ZDZiODc5MmZjYjc5L3RhYmxlOjhhZDEzYzU2YmQzNzRmZGFiNWJkMTZlYTM2YTE1YjdlL3RhYmxlcmFuZ2U6OGFkMTNjNTZiZDM3NGZkYWI1YmQxNmVhMzZhMTViN2VfMTgtMy0xLTEtNTYyNzM_f6cb70bc-bd92-41c2-9127-fc2ea48f5888"
      unitRef="shares">32905000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84NS9mcmFnOjc5MzI0NDRlNzUwYzQxMTA5MWU3ZDZiODc5MmZjYjc5L3RhYmxlOjhhZDEzYzU2YmQzNzRmZGFiNWJkMTZlYTM2YTE1YjdlL3RhYmxlcmFuZ2U6OGFkMTNjNTZiZDM3NGZkYWI1YmQxNmVhMzZhMTViN2VfMTgtNS0xLTEtNTYyNzM_ddf0f006-4c35-42d6-a567-9876f8920085"
      unitRef="usdPerShare">0.71</us-gaap:EarningsPerShareBasic>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="i5b338e4254984e949076851985777086_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84NS9mcmFnOjc5MzI0NDRlNzUwYzQxMTA5MWU3ZDZiODc5MmZjYjc5L3RhYmxlOjhhZDEzYzU2YmQzNzRmZGFiNWJkMTZlYTM2YTE1YjdlL3RhYmxlcmFuZ2U6OGFkMTNjNTZiZDM3NGZkYWI1YmQxNmVhMzZhMTViN2VfMjAtMy0xLTEtNTYyNzM_97afa466-bf17-49d9-bf6d-6499156709ed"
      unitRef="shares">28000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="i4b3108cb6e7449dfbe685b15395ecc71_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84NS9mcmFnOjc5MzI0NDRlNzUwYzQxMTA5MWU3ZDZiODc5MmZjYjc5L3RhYmxlOjhhZDEzYzU2YmQzNzRmZGFiNWJkMTZlYTM2YTE1YjdlL3RhYmxlcmFuZ2U6OGFkMTNjNTZiZDM3NGZkYWI1YmQxNmVhMzZhMTViN2VfMjEtMy0xLTEtNTYyNzM_7312782c-f093-40ea-8d0f-b44f12f85222"
      unitRef="shares">109000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="ib58a025164fc44e6a17acc8ad95dacb2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84NS9mcmFnOjc5MzI0NDRlNzUwYzQxMTA5MWU3ZDZiODc5MmZjYjc5L3RhYmxlOjhhZDEzYzU2YmQzNzRmZGFiNWJkMTZlYTM2YTE1YjdlL3RhYmxlcmFuZ2U6OGFkMTNjNTZiZDM3NGZkYWI1YmQxNmVhMzZhMTViN2VfMjMtMy0xLTEtNTYyNzM_e2764baf-7843-4c81-90d6-10bcda275fb7"
      unitRef="shares">28000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84NS9mcmFnOjc5MzI0NDRlNzUwYzQxMTA5MWU3ZDZiODc5MmZjYjc5L3RhYmxlOjhhZDEzYzU2YmQzNzRmZGFiNWJkMTZlYTM2YTE1YjdlL3RhYmxlcmFuZ2U6OGFkMTNjNTZiZDM3NGZkYWI1YmQxNmVhMzZhMTViN2VfMjQtMS0xLTEtNTYyNzM_c2fe7085-6681-4236-b29b-8ffbdc1fac81"
      unitRef="usd">23421000</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84NS9mcmFnOjc5MzI0NDRlNzUwYzQxMTA5MWU3ZDZiODc5MmZjYjc5L3RhYmxlOjhhZDEzYzU2YmQzNzRmZGFiNWJkMTZlYTM2YTE1YjdlL3RhYmxlcmFuZ2U6OGFkMTNjNTZiZDM3NGZkYWI1YmQxNmVhMzZhMTViN2VfMjQtMy0xLTEtNTYyNzM_5e1000d0-00ff-45de-9622-87b8dfbd1c05"
      unitRef="shares">33070000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84NS9mcmFnOjc5MzI0NDRlNzUwYzQxMTA5MWU3ZDZiODc5MmZjYjc5L3RhYmxlOjhhZDEzYzU2YmQzNzRmZGFiNWJkMTZlYTM2YTE1YjdlL3RhYmxlcmFuZ2U6OGFkMTNjNTZiZDM3NGZkYWI1YmQxNmVhMzZhMTViN2VfMjQtNS0xLTEtNTYyNzM_b2ff73f5-e975-4c3a-99e4-7b9a7aa18fd4"
      unitRef="usdPerShare">0.71</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84NS9mcmFnOjc5MzI0NDRlNzUwYzQxMTA5MWU3ZDZiODc5MmZjYjc5L3RhYmxlOjhhZDEzYzU2YmQzNzRmZGFiNWJkMTZlYTM2YTE1YjdlL3RhYmxlcmFuZ2U6OGFkMTNjNTZiZDM3NGZkYWI1YmQxNmVhMzZhMTViN2VfMjYtMS0xLTEtNTYyNzM_8006c7f5-aeb4-4e3b-b78c-d237594d5b05"
      unitRef="usd">37761000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84NS9mcmFnOjc5MzI0NDRlNzUwYzQxMTA5MWU3ZDZiODc5MmZjYjc5L3RhYmxlOjhhZDEzYzU2YmQzNzRmZGFiNWJkMTZlYTM2YTE1YjdlL3RhYmxlcmFuZ2U6OGFkMTNjNTZiZDM3NGZkYWI1YmQxNmVhMzZhMTViN2VfMjYtMy0xLTEtNTYyNzM_36d75751-6564-49a3-8592-6c8680d4db4b"
      unitRef="shares">33140000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84NS9mcmFnOjc5MzI0NDRlNzUwYzQxMTA5MWU3ZDZiODc5MmZjYjc5L3RhYmxlOjhhZDEzYzU2YmQzNzRmZGFiNWJkMTZlYTM2YTE1YjdlL3RhYmxlcmFuZ2U6OGFkMTNjNTZiZDM3NGZkYWI1YmQxNmVhMzZhMTViN2VfMjYtNS0xLTEtNTYyNzM_a959d4c2-9292-443a-a139-27dbd88e6aa4"
      unitRef="usdPerShare">1.14</us-gaap:EarningsPerShareBasic>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="i6797b33d9ba540da9695498d30992eee_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84NS9mcmFnOjc5MzI0NDRlNzUwYzQxMTA5MWU3ZDZiODc5MmZjYjc5L3RhYmxlOjhhZDEzYzU2YmQzNzRmZGFiNWJkMTZlYTM2YTE1YjdlL3RhYmxlcmFuZ2U6OGFkMTNjNTZiZDM3NGZkYWI1YmQxNmVhMzZhMTViN2VfMjgtMy0xLTEtNTYyNzM_02a361e5-a7c7-44fc-9475-d650994fd3f3"
      unitRef="shares">29000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="ia775413a85a84e5cb08aec50f4cc851d_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84NS9mcmFnOjc5MzI0NDRlNzUwYzQxMTA5MWU3ZDZiODc5MmZjYjc5L3RhYmxlOjhhZDEzYzU2YmQzNzRmZGFiNWJkMTZlYTM2YTE1YjdlL3RhYmxlcmFuZ2U6OGFkMTNjNTZiZDM3NGZkYWI1YmQxNmVhMzZhMTViN2VfMjktMy0xLTEtNTYyNzM_7f31fbc3-5f9a-499c-87bc-e5467b13022b"
      unitRef="shares">95000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="i71c7a5ced7b14ae6b5e11d56e051262f_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84NS9mcmFnOjc5MzI0NDRlNzUwYzQxMTA5MWU3ZDZiODc5MmZjYjc5L3RhYmxlOjhhZDEzYzU2YmQzNzRmZGFiNWJkMTZlYTM2YTE1YjdlL3RhYmxlcmFuZ2U6OGFkMTNjNTZiZDM3NGZkYWI1YmQxNmVhMzZhMTViN2VfMzEtMy0xLTEtNTYyNzM_0febfb78-5f7c-49b3-b3ae-ec419b050029"
      unitRef="shares">28000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84NS9mcmFnOjc5MzI0NDRlNzUwYzQxMTA5MWU3ZDZiODc5MmZjYjc5L3RhYmxlOjhhZDEzYzU2YmQzNzRmZGFiNWJkMTZlYTM2YTE1YjdlL3RhYmxlcmFuZ2U6OGFkMTNjNTZiZDM3NGZkYWI1YmQxNmVhMzZhMTViN2VfMzItMS0xLTEtNTYyNzM_5442ec02-98e6-4051-ac0b-350b0c07e647"
      unitRef="usd">37761000</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84NS9mcmFnOjc5MzI0NDRlNzUwYzQxMTA5MWU3ZDZiODc5MmZjYjc5L3RhYmxlOjhhZDEzYzU2YmQzNzRmZGFiNWJkMTZlYTM2YTE1YjdlL3RhYmxlcmFuZ2U6OGFkMTNjNTZiZDM3NGZkYWI1YmQxNmVhMzZhMTViN2VfMzItMy0xLTEtNTYyNzM_cf6a70ab-2b23-46d5-a576-934d10014177"
      unitRef="shares">33292000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare
      contextRef="i90073a0f0abd449ca5936561a6629859_D20211101-20220430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84NS9mcmFnOjc5MzI0NDRlNzUwYzQxMTA5MWU3ZDZiODc5MmZjYjc5L3RhYmxlOjhhZDEzYzU2YmQzNzRmZGFiNWJkMTZlYTM2YTE1YjdlL3RhYmxlcmFuZ2U6OGFkMTNjNTZiZDM3NGZkYWI1YmQxNmVhMzZhMTViN2VfMzItNS0xLTEtNTYyNzM_7d7c75e5-c27b-4d00-a729-60b507c92556"
      unitRef="usdPerShare">1.13</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <nx:DescriptionOfNewAccountingPronouncementsRecentlyAdoptedAndNotYetAdoptedTextBlock
      contextRef="i0b99b950e9ac43db854a28ba2c1a65f2_D20221101-20230430"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ0YzMyY2VhMzJlMTQ4NTc4YzNlZjJjYzRmMGU4M2Y4L3NlYzpkNGMzMmNlYTMyZTE0ODU3OGMzZWYyY2M0ZjBlODNmOF84OC9mcmFnOjQ1NDMzMzg2YTIwMTQxMDQ5NDY5MDIyYmExMDEwMWJkL3RleHRyZWdpb246NDU0MzMzODZhMjAxNDEwNDk0NjkwMjJiYTEwMTAxYmRfNzMx_e4291c7c-86e3-40f4-8460-096153c89a1e">New Accounting GuidanceFrom time to time, new accounting pronouncements are issued by the Financial Accounting Standards Board (FASB) or other standards setting bodies that we adopt as of the specified effective date. We did not adopt any new accounting pronouncements during the three and six months ended April&#160;30, 2023. As of April&#160;30, 2023, we believe the impact of any recently issued standards that are not yet effective are either not applicable to us at this time or will not have a material impact on our condensed consolidated financial statements upon adoption.</nx:DescriptionOfNewAccountingPronouncementsRecentlyAdoptedAndNotYetAdoptedTextBlock>
</xbrl>
