<?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:gntx="http://www.gentex.com/20220630"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2022"
  xmlns:us-gaap="http://fasb.org/us-gaap/2022"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xhtml="http://www.w3.org/1999/xhtml"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="gntx-20220630.xsd" xlink:type="simple"/>
    <context id="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="ied8bf94eca594079948d607da9e9f132_I20220722">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
        </entity>
        <period>
            <instant>2022-07-22</instant>
        </period>
    </context>
    <context id="i3ea74557f76c449695fec39c0ebb8180_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i7da2c1da427a46f29ae71c065f7007cb_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i3443874216a54099905fe8a57f283885_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ic32fc357582241a6afa90961c00ce44f_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="ifb0007c6813a416c9ec696f0f95f51af_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i8d51631faaee463f87e259341e14a886_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i26f558137c5d4d06992a8998fa162e30_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i7b1b5c3619df4590a69e39a8e3c88241_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i522fec5937aa4ce18594cb806cc58a0e_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="id90d613ce86b4ab88ed8a1351dcd6c68_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i623830708b05445dbeacf30fec4d7fee_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i1fbc11e0d6ce4fb5affb7d7de9b305d9_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i5ce2485f78d54008a0501ddc98ff737d_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="ie8c4a8193c1a4716b3703111509632e8_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="ib27316734acf4c249296e0fa3e271912_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="ia528c73440e347a49538e4c275f550b6_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i64f3c6def7fb4a67b2143abce7ed3f4c_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="ia4986ceaa68b4698932929fc338e8d42_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="i26434af1beb041b9af09503fb07ed5a0_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="ibd30428ad50c4ced9f42f256fc5cbc98_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="ie162c9826bae4d1a81b3b0b9a96998ef_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="i188481447bc8456bb8d834b325024731_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ie0d3ab4c2c3740e187349dd0fae1e7db_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i5a5a2fe7b91e42b3a14833e581819cda_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i671fecb4d58a4f529121d1eb3ce879c5_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i4620041f6e76469ba29d66bec1c9fad4_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="if58e504178f1440b833bb8c5a4e2b064_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i099eea1162604661a60c3ac4491ac089_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i57528b72030b40ad81e353277154d3ec_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i3175b4f693074da49c20fc845f3eb98c_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i0088ce043c9d43b8b52fcfe056f01b82_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i26b82d22c1614421940c80f2c9095c84_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i025bb2276e124c10a56c8c2656f81cb0_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ice46a7c8f6ed4048be1b043c22ef3ac4_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ia626c1ee0d0b4b8384f7182be587ca70_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i6ce5ef126cba448ebdb1b1efdb599bcf_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="ie744acc36b404855b85e9cae5aab4966_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="ia70076aafaa4481c864dfb38916b2f9b_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i0e8766ed3c604533ad8d11feef043265_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="if82955de6b7e47ad8a24744ff63081a6_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="id28d33ce22df4923adc1798216e04194_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ifeb8159c26cd4948bd0d7d10dbb19d67_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i5e8ca86642e54e2e940037f480aee623_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i4716d167fc2142a5be8d2b36ea2c84ba_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="id608205ff0f64727af7d6f26c31d590f_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i7eeb0824787c47018fce22254a27bb2c_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ia2fd80770a2f422288c1d3d0e702a5f3_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i782de47814674fc5902c1de0b8054d29_I20131231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gntx:HomeLinkMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2013-12-31</instant>
        </period>
    </context>
    <context id="i628e025b778545209021413b6d0cb7fa_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gntx:VaporsensIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i0bc734e02a85459cb6fe1fad9c667e9a_D20200701-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gntx:AirCraftGlassMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="ifc12458e0b50495ab5951c0a616118f4_D20201001-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gntx:ArgilIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-10-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i581c1a9654e54e9780ff43710944b6a9_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gntx:GuardianOpticalTechnologiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i12329575bfbf457f81862e12c6aa53f1_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i1ce74ecb9c8d47338ad5473b35b64fd9_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="if01b695d9f0842ecadbbc244963c1090_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="ie3c3eed195fd45808ba70563a3def88e_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i93bd0e8e318b49c7a96329d570ee2741_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i7d859a501c8d4c1ba42ed680ec8994db_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerContractsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i4f01b2e34d084743a3a3830a39a6dc73_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerContractsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="ie2935dee298840149074c717c5105328_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:LicensingAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i3fd000b2152048e7b92ca63d22367b82_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gntx:VaporsensIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i9c5e5a03ac6543f9b381a62101bea2a3_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gntx:ArgilIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i8c7f64cfa694402ca8ec4f9b68b09f71_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gntx:AirCraftGlassMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="id42977c29beb454da63bf38214642516_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gntx:GuardianOpticalTechnologiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="ia088f54a323542d0a1577f6e1a481c9e_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gntx:GuardianOpticalTechnologiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="ic40eae0896d64417b744a4da0104d32f_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OtherIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i5810f04a070b4d3f8a2b793dcd6c2c99_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">gntx:PatentsAndOtherIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i37cc2c3aec9f48d38fb33495bb205732_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="iabd74887e1704ab1959fff3416eb84a5_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i0418a9effa8047a3b0ab6405b1c10388_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i94d5aeb132004e69acab0dc1c8906918_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i1b471a301ccc49e78ab65317b8bb8395_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i62e3ebe91801494ead6d80e92d001ef2_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerContractsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i88176b33269a4f7bb04a70c7a538bf7e_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerContractsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i4b9fd0e81aa14f81b1aa47a4a483df5c_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:LicensingAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ie6cb486b88a0477290c1e2f532102f3c_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gntx:VaporsensIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ie829c5e635134e03aa8c1a2a73885605_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gntx:ArgilIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i14889e00822444f5a7b17fcc7f16b51c_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gntx:AirCraftGlassMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i0da012fb121d4444958a74fdc0df68cc_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gntx:GuardianOpticalTechnologiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i14aa60aa1fb042d29dd52506eef8f346_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gntx:GuardianOpticalTechnologiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ifbe6ca9f0fab40b49660c941a22a8103_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OtherIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i6fd510404173459593a77ae995ac9903_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">gntx:PatentsAndOtherIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="iba500e06d654470bb9d413bdab953944_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">gntx:GentexCorporationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="iefc0b78115d14e998e3636bb9fcb0fff_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">gntx:GentexCorporationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="ia19dc123ed32465c85cf01c38dae3484_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">gntx:LongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i73d8eb0d47064a018fc3027357b8e00a_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">gntx:LongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i9662f113a4be496d9dd28bca3e7e5661_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="ib543a208e0644bb1a76c602eeb0d8f08_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="if6a4e9e8b6124075902a092bde92314e_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i97389837da0c4d9c9d1b2bb9b8435dc7_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="iefbce3631a404070abc7b39d89089dc8_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="ie4f19bcb47564e23ad12536a2d63912d_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i19671ed4e7ed406f82a9867e3497613f_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i080730588bf74aaa8f750d31a591aa89_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="idbeb82a175684e338f2cdb6d856c56bf_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i9290530b4eb641c0807f1c0485c7ef2e_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i1fa7b4408d82452da6b078d06f349ce1_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i07771cf5448c44338d97b3bd1914679c_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="ieaf02dd439854f30a632bb8a2771937e_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i56f2091c4fca4bd4b2d4f765197194d7_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i701266620fe14cd8ab3643d266932ad9_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i533462e05d28481994c1b15403c59695_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:OtherDebtSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i8e9f3b385eb34768a69ec30a9cfb2bb4_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:OtherDebtSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="if5ebaea3005147c69d040d9255b35c0d_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:OtherDebtSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i1cc59c3b152540f0aabf7146c4669e9f_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:OtherDebtSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i7b392cf622954c4c996c677b86595f1f_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="ic6c0f101147a45168923fd65e0228868_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="idb6662b0fdc74fc59fa8ae38219d7786_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="id5978610660240da86ba579ba72e02ec_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="ibaa5223540e5439288527f8cd23c3cdf_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="ib9e0ccb14e75405384c6b27a6847b7ba_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="ie8177b9d599f4a8a896e2395af6cc3c4_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i2d765a40cd584932b73e9e72d92cd00d_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i7c6a8e95d8e444d0986a3dcb9ff84d68_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i7a859be100b34f07813d5ae25522ed28_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i08e1ec9b97d940119ebf34c8eb2b73d7_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="ief1bb442ef5246c994c77acb3eef8b25_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i3aa89d68ec824d4e80a9bcbf62b948ea_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i8a39eb82d54f4cb7bae11dc3bc5cab3d_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i6bf5c858edbd4c4b8163620772e2bcf3_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i0af21c6a993446e7b20b563e7e33c742_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i642fbba9010e4461a6efd8e072d8c036_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i3d42970f3c474402b87565bc72e6360f_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="icd7bd640c4b24e108d23f329505d8684_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i32c1fd792a5549709842f619ea13a40e_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i1d788ac84fe44938840e298c5c412d28_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="iedbee3695fef4719a1aba59ec5cf76ff_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i95fad79d67bb430ab9e3549b2a5d7f2a_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i36f5e9118df34f03a948fd0389b6774f_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="if0afb419821c4004bd72f434e5332175_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i65c1d20029884691b9867a87f6df612a_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i032c15b615d5449c8ebe946053c31eb0_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i10b89df48bf54d319bf721e64d9d0fcc_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i41f0d7851f8c4fa7841ba562453f71f0_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i950418781d704d44b7ebb6daf5ae6da0_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ib5c3a2ff836a48af906bdff087f6f5ad_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i5036c68a027a44e3a5ab1be92f49ddf6_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i8ecefc4d4ece4652a8265246423c201d_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i1386284643fa489e8d2b16c728e3e32c_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i09b768bda23f4369bd7ec7f82ffb6a5e_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i0892d9822cbe4f0aaba363f09cc97566_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="if82aacdeb3d0457e8917cb8a704d6e1d_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i9c3f2792853e4598b8682d9a43f14cca_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i4d26c25ee7134d9388598e034a9025d9_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i9106a241601c4e978cb2bdb62bc13a00_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:OtherDebtSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i2a566489bf034b37b188a77f39b55540_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:OtherDebtSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i888840b367b14d199a8b5251b6e25609_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:OtherDebtSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i52fb4baebd0f4073a78ca06b69cc7c1e_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:OtherDebtSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i36be01de81994e688c4e656f37f1fd31_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i416dafe2bdc74a07abb3686559e49a4a_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i15fb3f6210f341f3bc6d080b19a17515_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i8278caa76c5b4edf8da6ae0ce6120dcb_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i2b35137fda1247bf812a4e720728e6f9_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i29d80600213b4c1aa642a39399042ee6_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ie6c5d8ff1d6d4595a29ab34204c1df07_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i5cc75ef66f3b4d9d909778bbb527dadc_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CertificatesOfDepositMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i99182ed4ae9146ddac1a19dc53382070_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i735d1763339c46af84602ece884e05eb_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ica55021be9a04fdbbe636aefb27c810c_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ie8b58786c15a43a9ae5f9e7a6de5d355_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i71089d91006b414b9973397d7caf973c_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i1d83a8abc372499488daba225357831f_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i07bf6d6c477a438a82a66b55953fca96_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i012a67053f9b40caa44199f53f2996c9_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ibe333fa0f3dd42c798200d43e506eff4_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i9b03b3db62ed4d18a93d4afbfbab2d32_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i3f05d9d894b441b4b18057c947ab0144_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i051de01693534724af01a222e107a1d8_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:OtherLongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ie11a69bf197247aca4408d1b72e29a6f_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:FixedIncomeSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i545e6b06560743239f074497a3fba578_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i60561a6d28324d81b3663ac2554b076a_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">gntx:OmnibusIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="iec7152d137db42179939e40f816f94ea_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">gntx:OmnibusIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i2e180a6fe38c4f719eed0f26dca873a0_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">gntx:NonQualifiedStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">gntx:OmnibusIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="iebc5e6167856422b9cdbd9b1e87a80cf_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">gntx:OmnibusIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i9b7fd485f67c43f69b47d21b44778e4c_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">gntx:OmnibusIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i5ae4774ccefb40d48d8afe698aae6c6b_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">gntx:EmployeeStockOptionPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i98190e1151f9426895eb64adfc72a3e1_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">gntx:EmployeeStockOptionPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i4c8e985ed45245b6a6f654dfd3deea79_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">gntx:EmployeeStockOptionPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i29ea78c69c9c458baac77648a1e17371_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">gntx:RestrictedStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i8324e59849184699bc3595883d131cda_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">gntx:RestrictedStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i557a8309808a4d90bebd38579b014eaf_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">gntx:RestrictedStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="ia118a3f4b419467b94f1913167acedc6_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">gntx:RestrictedStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i58137914003d4f97a7342188d92f3374_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">gntx:RestrictedStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i0a4c34d64d9c414d844b4fbc2a0ceca1_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="ia42080d25ba14776943d335912758618_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="ie97cfd6ad6314181b7e32389bbee46f4_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i501b147aa08b4ae886015e14a6d45007_I20220531">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-05-31</instant>
        </period>
    </context>
    <context id="i4315bfa493a34f1a8b658ecec52dffa9_D20220501-20220531">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-05-01</startDate>
            <endDate>2022-05-31</endDate>
        </period>
    </context>
    <context id="ie6bc0019f0144b3b948d3f1bf6a5e20f_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i499eadeb011641498494dca730f8b9fd_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="id240eb15f7c248fca5c17c3356ae1e72_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i36de72c522334de88c9d9f685a4646a4_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i2059ba2985734c14a38b06700265ff29_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="id6dff6f188ae4b96b44e55d060f12148_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i9baa8e4e04eb4d6e9ba1e6d82b21e201_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="iec9782579e8b4565a5d8c9df543c23e4_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i21e448b21e6a4865aa770a8c4ca28309_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i84757703b2e542f89ae9ace3d8c0372f_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i7983f178f6e04ceea2bf7f0805e276bd_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="ic795a8d3080b4b7891336dfee71ed4da_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="ib1980d8629734362996f6f5190e22508_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i27e824a4edce4cfe9606053427242bb4_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i28e98300881b443383794395201f45a9_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i724aa8e8b7514afdbdaf805dfe5f6c5d_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i046f64d8dcb141b1b4ae6d73cd4a3926_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i0dc8a4d2dd8d463687d8b3d794727a33_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i1e62900303c14ef0aad9688bca409180_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i4a2e437d0dd04f8786c1ca80a2b12525_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="ida65420a86334e37ac69a02e5773a916_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis">us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i165897944ca94f51ae28fb9a3d091ddb_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis">us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ib6494b6c4f584c4c816cf7fa3acf5e4e_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis">us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i20be908802574c5f98abb8b90d636107_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis">us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i00f56fb25911447b9a8097ab1bae1c97_I20181015">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-10-15</instant>
        </period>
    </context>
    <context id="i30b42e8c6b48428eaae2a75fc01e4b00_I20181015">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-10-15</instant>
        </period>
    </context>
    <context id="i7f41d96f4eeb457db83fe04574f02008_I20181015">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">gntx:SwingLoansMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-10-15</instant>
        </period>
    </context>
    <context id="idbd25d21abaa4dbaa98269fb96c0f22e_I20181015">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LetterOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-10-15</instant>
        </period>
    </context>
    <context id="ie691f877cf1341f3b7f1a2c7deab85c1_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="id4829afb512e4e45b99e8e1d0eb085bd_D20220527-20220527">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
        </entity>
        <period>
            <startDate>2022-05-27</startDate>
            <endDate>2022-05-27</endDate>
        </period>
    </context>
    <context id="i8b6f8e94a16046eda619758a3f565909_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gntx:AutomotiveProductsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="ib3b2165867a346b08a7462d9be9bcc0b_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gntx:AutomotiveProductsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i090f89bc342e4d59854b4f23acc16eec_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gntx:AutomotiveProductsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i0223412db5ee47ccaf5d1721b6fda0e2_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gntx:AutomotiveProductsSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i2e1d3eb88b624daca9acd0a15798cd5c_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">us-gaap:AllOtherSegmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i2c70cb1021524c9e8baadeec8e3521f6_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">us-gaap:AllOtherSegmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i61e75f314459463a964564cb0f306ff3_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">us-gaap:AllOtherSegmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="ief91157b208149b09f059f61b9b598bc_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">us-gaap:AllOtherSegmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i2df209f73d0e4c20890a16bcad3756f6_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gntx:AutomotiveProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="iddb5fe1284bb4b6eae1f67ea241d34b6_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gntx:AutomotiveProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i91fdb8c44fd94152acb044369bc4acf0_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gntx:AutomotiveProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="ic38504bd377740cfbc7490293129ae76_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gntx:AutomotiveProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="iae00867f418c45c4aed189cef5034036_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gntx:AutomotiveProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:DE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i85be3077528642789c311f912adaa289_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gntx:AutomotiveProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:DE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="idaab835e26b746a3ad861e42725b68f9_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gntx:AutomotiveProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:DE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i320fd14daf9e458dba8189640e4419eb_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gntx:AutomotiveProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:DE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ic8aed4f82bda4c40895e9a5368df9338_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gntx:AutomotiveProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i3f6c001c12324ffb95ea4b5063b50774_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gntx:AutomotiveProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="if0a2b505588f4742bbe1e60a55c7ca71_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gntx:AutomotiveProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="id613ebe623154c27b5de63a9a88bff12_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gntx:AutomotiveProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i3eed299fbeb946e2aa99584a38616e90_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gntx:AutomotiveProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:MX</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i408f5dac8c8c4152a1cac29327513cbf_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gntx:AutomotiveProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:MX</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i352f8c64a3ae4e64bfd1c634b4048d2c_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gntx:AutomotiveProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:MX</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i0ad74d2d83674921a11da30e3dbfd462_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gntx:AutomotiveProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:MX</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="if4f2f5fb47964fd7a10418501fd69a3f_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gntx:AutomotiveProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">gntx:OtherCountriesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i18c15419deab424e8d58b5ce8ad1dc33_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gntx:AutomotiveProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">gntx:OtherCountriesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="icc104a5ca1884b16bd21179465f9b816_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gntx:AutomotiveProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">gntx:OtherCountriesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="ibb2ea5c5cf2d47668f75fffedc827a80_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gntx:AutomotiveProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">gntx:OtherCountriesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ic021129f0c9f42ae9b0432b1d933a39a_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gntx:AutomotiveProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="ieb00f4425b184c42ae3fefb7befa67c5_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gntx:AutomotiveProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ia0af747fa9384607845816026b80ce62_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gntx:AutomotiveProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i036dadeca0424865a2b11aa2e6b9931e_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gntx:AutomotiveProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ic1507d25334f48f4979a6c205859425b_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gntx:OtherProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="ia5039eaf6d8945b6b790bfdc79cdabb1_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gntx:OtherProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="id8fe96348ba54c5ea8636f9368918f3b_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gntx:OtherProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i599c28f22a834e1ebdea115170b9e67f_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gntx:OtherProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="id1a1300d4cdd4ed3a788a6d6a6832e43_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gntx:AutomotiveMirrorsElectronicsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gntx:AutomotiveSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="ief5dc24f1e664c7e8e58ad146478d677_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gntx:AutomotiveMirrorsElectronicsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gntx:AutomotiveSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ib182793c8e6747ea9277740e1050246c_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gntx:AutomotiveMirrorsElectronicsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gntx:AutomotiveSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i3106ad8abc2f4014925f3a53262ce1df_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gntx:AutomotiveMirrorsElectronicsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gntx:AutomotiveSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="if855f2c30dd04a89892d2fb264231f26_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gntx:HomeLinkModulesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gntx:AutomotiveSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="ic20c27f1b5fd4f6d95c844a2115cbe73_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gntx:HomeLinkModulesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gntx:AutomotiveSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i76ba8a658aa8450e977cf15cab09567e_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gntx:HomeLinkModulesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gntx:AutomotiveSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i6c8a0eb0f50944a4a9f832c9b54bcb54_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gntx:HomeLinkModulesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gntx:AutomotiveSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i24161174258d4004bd612b689db401e0_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gntx:AutomotiveSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i5b6853ad074049e9992cb1fa40cce100_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gntx:AutomotiveSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i2506c20427614a0eb8d2272aba6c6992_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gntx:AutomotiveSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i59134c0d74d5496581dfeffcea38cca8_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gntx:AutomotiveSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i9bf82c704b4644a18f184ef6d09a8cb5_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gntx:FireProtectionProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gntx:OtherSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i59cef57029464316bb55dccad1bb2d57_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gntx:FireProtectionProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gntx:OtherSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ic3e0303c7078435ab5dbdf2554392702_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gntx:FireProtectionProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gntx:OtherSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i042dd741052143a2986cd858a500e147_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gntx:FireProtectionProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gntx:OtherSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ic2b605ec6a6c4b269eb3e09c82f84bc7_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gntx:AerospaceProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gntx:OtherSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i126298f3a67c4eeeb917311fdf19ad64_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gntx:AerospaceProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gntx:OtherSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i67eb2bcb53bd44f0ac8a8bd36b683125_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gntx:AerospaceProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gntx:OtherSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="ic09587733e1b45bdafdb574f85765747_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">gntx:AerospaceProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gntx:OtherSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i4dcf0609a0774be39e3f16cf93226bf5_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gntx:OtherSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i9ebc3dadf1a94cccb0a661cf35f63b14_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gntx:OtherSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i6c5d9a04632040d3bdcfc9396a458af5_D20220101-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gntx:OtherSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i58c7951e4ec8488a9dcbd63b728634fc_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">gntx:OtherSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="idbf5fff4851742aeaf98515ba2ba2fb8_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="ib225019413714ccc8518b00a051a1848_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i24ccd3255d3a4800b124d3a11ee7b9de_D20210303-20210303">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gntx:GuardianOpticalTechnologiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-03-03</startDate>
            <endDate>2021-03-03</endDate>
        </period>
    </context>
    <context id="i3bb43a5c2b0e4300b12f5dc96ecd53cb_I20210303">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000355811</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">gntx:GuardianOpticalTechnologiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-03</instant>
        </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="number">
        <measure>pure</measure>
    </unit>
    <unit id="plan">
        <measure>gntx:plan</measure>
    </unit>
    <dei:EntityCentralIndexKey
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80L2ZyYWc6MDAwZGM2NjQwMGExNDU0NjgyNzBkMjg4YTJkMzU4ODAvdGFibGU6YTBiY2Q0ZGRlY2ZjNGMzNzk3OTg2NzVkYTM5NGQ2NDYvdGFibGVyYW5nZTphMGJjZDRkZGVjZmM0YzM3OTc5ODY3NWRhMzk0ZDY0Nl8wLTEtMS0xLTM4NTky_04a2c762-b08b-43e1-8c60-5fa1f929d068">0000355811</dei:EntityCentralIndexKey>
    <dei:DocumentFiscalYearFocus
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80L2ZyYWc6MDAwZGM2NjQwMGExNDU0NjgyNzBkMjg4YTJkMzU4ODAvdGFibGU6YTBiY2Q0ZGRlY2ZjNGMzNzk3OTg2NzVkYTM5NGQ2NDYvdGFibGVyYW5nZTphMGJjZDRkZGVjZmM0YzM3OTc5ODY3NWRhMzk0ZDY0Nl8xLTEtMS0xLTM4NTky_3d05d58b-6716-48ae-b66e-97cae777f9d8">2022</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80L2ZyYWc6MDAwZGM2NjQwMGExNDU0NjgyNzBkMjg4YTJkMzU4ODAvdGFibGU6YTBiY2Q0ZGRlY2ZjNGMzNzk3OTg2NzVkYTM5NGQ2NDYvdGFibGVyYW5nZTphMGJjZDRkZGVjZmM0YzM3OTc5ODY3NWRhMzk0ZDY0Nl8yLTEtMS0xLTM4NTky_4662ee99-3a30-4dfe-86e1-606fdd370dcd">Q2</dei:DocumentFiscalPeriodFocus>
    <dei:AmendmentFlag
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80L2ZyYWc6MDAwZGM2NjQwMGExNDU0NjgyNzBkMjg4YTJkMzU4ODAvdGFibGU6YTBiY2Q0ZGRlY2ZjNGMzNzk3OTg2NzVkYTM5NGQ2NDYvdGFibGVyYW5nZTphMGJjZDRkZGVjZmM0YzM3OTc5ODY3NWRhMzk0ZDY0Nl8zLTEtMS0xLTM4NTky_ac9231ad-b8f5-4585-ba10-b3af8ff1f97f">false</dei:AmendmentFlag>
    <dei:CurrentFiscalYearEndDate
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80L2ZyYWc6MDAwZGM2NjQwMGExNDU0NjgyNzBkMjg4YTJkMzU4ODAvdGV4dHJlZ2lvbjowMDBkYzY2NDAwYTE0NTQ2ODI3MGQyODhhMmQzNTg4MF80Mw_3392b5b7-382f-4946-ae88-27ed9ac23e3a">--12-31</dei:CurrentFiscalYearEndDate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i5ae4774ccefb40d48d8afe698aae6c6b_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RleHRyZWdpb246YjQzOWE1ZDhjMzNhNGQ1M2I0ZjZiYTUxOWNkZDEzYmRfMjUxMg_6081a8b7-5abe-48ab-aa50-65c3f2230fee">P1Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="i5ae4774ccefb40d48d8afe698aae6c6b_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RleHRyZWdpb246YjQzOWE1ZDhjMzNhNGQ1M2I0ZjZiYTUxOWNkZDEzYmRfMjUzOQ_4d85eb7f-ce18-46d8-8e7e-3ca366009d4e">P5Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV85MS9mcmFnOmFmN2QxMzI3MTdkZDQ5NDdhNjY4NTI4MTg3NTZkNjlhL3RhYmxlOmM4M2YyNDU5NzBkZjQxMGVhNWI5NWJkMzUxZjEzM2ZmL3RhYmxlcmFuZ2U6YzgzZjI0NTk3MGRmNDEwZWE1Yjk1YmQzNTFmMTMzZmZfMi0wLTEtMS0zODU5Mg_bec87d78-305d-459e-a4ff-6aac8c89334d">http://fasb.org/us-gaap/2022#AccruedLiabilitiesCurrent</us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV85MS9mcmFnOmFmN2QxMzI3MTdkZDQ5NDdhNjY4NTI4MTg3NTZkNjlhL3RhYmxlOmM4M2YyNDU5NzBkZjQxMGVhNWI5NWJkMzUxZjEzM2ZmL3RhYmxlcmFuZ2U6YzgzZjI0NTk3MGRmNDEwZWE1Yjk1YmQzNTFmMTMzZmZfMy0wLTEtMS0zODU5Mg_68ad6c3f-8629-4666-9554-6a96828cdb34">http://fasb.org/us-gaap/2022#OtherLiabilitiesNoncurrent</us-gaap:OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList>
    <dei:DocumentType
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xL2ZyYWc6NzQyMWI3M2ZmNmU0NDFhOGEwZmM3MDk4YTU3NDAyM2QvdGV4dHJlZ2lvbjo3NDIxYjczZmY2ZTQ0MWE4YTBmYzcwOThhNTc0MDIzZF8yNTgx_559b3925-0391-4528-bee4-9354d2b17858">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xL2ZyYWc6NzQyMWI3M2ZmNmU0NDFhOGEwZmM3MDk4YTU3NDAyM2QvdGFibGU6ODFhMWY2NGFlYTFjNDNlOTkyOTk5ZTJhYmY1OWVhYWMvdGFibGVyYW5nZTo4MWExZjY0YWVhMWM0M2U5OTI5OTllMmFiZjU5ZWFhY18wLTAtMS0xLTM4NTky_aa80e1fd-4220-4170-959f-2470954b4d5c">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xL2ZyYWc6NzQyMWI3M2ZmNmU0NDFhOGEwZmM3MDk4YTU3NDAyM2QvdGV4dHJlZ2lvbjo3NDIxYjczZmY2ZTQ0MWE4YTBmYzcwOThhNTc0MDIzZF8xNDE_451d6aff-6d59-4541-b100-357b16d8b8a9">2022-06-30</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xL2ZyYWc6NzQyMWI3M2ZmNmU0NDFhOGEwZmM3MDk4YTU3NDAyM2QvdGFibGU6NDEyN2RiZTA0Y2U4NGMxMmIyNDcxYzFlNzcyNWJlOTAvdGFibGVyYW5nZTo0MTI3ZGJlMDRjZTg0YzEyYjI0NzFjMWU3NzI1YmU5MF8wLTAtMS0xLTM4NTky_5a336659-ff31-4203-8ed0-fd5e913c0d75">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xL2ZyYWc6NzQyMWI3M2ZmNmU0NDFhOGEwZmM3MDk4YTU3NDAyM2QvdGV4dHJlZ2lvbjo3NDIxYjczZmY2ZTQ0MWE4YTBmYzcwOThhNTc0MDIzZF8yNTgy_8aa6a6f3-28f1-4a90-938a-5e07fba0867e">0-10235</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xL2ZyYWc6NzQyMWI3M2ZmNmU0NDFhOGEwZmM3MDk4YTU3NDAyM2QvdGV4dHJlZ2lvbjo3NDIxYjczZmY2ZTQ0MWE4YTBmYzcwOThhNTc0MDIzZF8yNTg1_24412e2d-1896-4d36-b437-cf3edf21e420">GENTEX CORPORATION</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xL2ZyYWc6NzQyMWI3M2ZmNmU0NDFhOGEwZmM3MDk4YTU3NDAyM2QvdGFibGU6NDk0MjlhNDg5OTVmNGFiMDhmNTQ1NTdiMzI4NzNmMTgvdGFibGVyYW5nZTo0OTQyOWE0ODk5NWY0YWIwOGY1NDU1N2IzMjg3M2YxOF8wLTAtMS0xLTM4NTky_dababe20-22ee-4af8-896d-70c901c4d3a9">MI</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xL2ZyYWc6NzQyMWI3M2ZmNmU0NDFhOGEwZmM3MDk4YTU3NDAyM2QvdGFibGU6NDk0MjlhNDg5OTVmNGFiMDhmNTQ1NTdiMzI4NzNmMTgvdGFibGVyYW5nZTo0OTQyOWE0ODk5NWY0YWIwOGY1NDU1N2IzMjg3M2YxOF8wLTItMS0xLTM4NTky_b43d5f3c-5dd2-4cf8-bc36-c62142fa6a84">38-2030505</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xL2ZyYWc6NzQyMWI3M2ZmNmU0NDFhOGEwZmM3MDk4YTU3NDAyM2QvdGFibGU6NDk0MjlhNDg5OTVmNGFiMDhmNTQ1NTdiMzI4NzNmMTgvdGFibGVyYW5nZTo0OTQyOWE0ODk5NWY0YWIwOGY1NDU1N2IzMjg3M2YxOF8zLTAtMS0xLTM4NTky_ed221830-e5a0-4056-8e84-a7a8c69bac50">600 N. Centennial</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xL2ZyYWc6NzQyMWI3M2ZmNmU0NDFhOGEwZmM3MDk4YTU3NDAyM2QvdGFibGU6NDk0MjlhNDg5OTVmNGFiMDhmNTQ1NTdiMzI4NzNmMTgvdGFibGVyYW5nZTo0OTQyOWE0ODk5NWY0YWIwOGY1NDU1N2IzMjg3M2YxOF80LTAtMS0xLTM4NTky_a9f650d9-3de2-4410-bf97-e47e4e20e121">Zeeland</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xL2ZyYWc6NzQyMWI3M2ZmNmU0NDFhOGEwZmM3MDk4YTU3NDAyM2QvdGFibGU6NDk0MjlhNDg5OTVmNGFiMDhmNTQ1NTdiMzI4NzNmMTgvdGFibGVyYW5nZTo0OTQyOWE0ODk5NWY0YWIwOGY1NDU1N2IzMjg3M2YxOF81LTAtMS0xLTM4NTky_bd0c2eba-db64-4abc-ba0a-315d4a17dae8">MI</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xL2ZyYWc6NzQyMWI3M2ZmNmU0NDFhOGEwZmM3MDk4YTU3NDAyM2QvdGFibGU6NDk0MjlhNDg5OTVmNGFiMDhmNTQ1NTdiMzI4NzNmMTgvdGFibGVyYW5nZTo0OTQyOWE0ODk5NWY0YWIwOGY1NDU1N2IzMjg3M2YxOF81LTItMS0xLTM4NTky_ab8770b7-4641-4727-84c8-3ddf7c37776d">49464</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xL2ZyYWc6NzQyMWI3M2ZmNmU0NDFhOGEwZmM3MDk4YTU3NDAyM2QvdGV4dHJlZ2lvbjo3NDIxYjczZmY2ZTQ0MWE4YTBmYzcwOThhNTc0MDIzZF8yNTg2_74db1f92-c977-4912-8ef1-f74aeced8b16">616</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xL2ZyYWc6NzQyMWI3M2ZmNmU0NDFhOGEwZmM3MDk4YTU3NDAyM2QvdGV4dHJlZ2lvbjo3NDIxYjczZmY2ZTQ0MWE4YTBmYzcwOThhNTc0MDIzZF8yNTg3_fc1f94e9-e048-49b5-94ca-66307d03b073">772-1800</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xL2ZyYWc6NzQyMWI3M2ZmNmU0NDFhOGEwZmM3MDk4YTU3NDAyM2QvdGFibGU6MTEzMzQ3Y2FjNTc4NGM2MmI3MTk1ZmE2ZjY1NTgzNDgvdGFibGVyYW5nZToxMTMzNDdjYWM1Nzg0YzYyYjcxOTVmYTZmNjU1ODM0OF8xLTAtMS0xLTM4NTky_76bcdb34-6a9d-431d-87f9-091d3a457127">Common Stock, par value $0.06 per share</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xL2ZyYWc6NzQyMWI3M2ZmNmU0NDFhOGEwZmM3MDk4YTU3NDAyM2QvdGFibGU6MTEzMzQ3Y2FjNTc4NGM2MmI3MTk1ZmE2ZjY1NTgzNDgvdGFibGVyYW5nZToxMTMzNDdjYWM1Nzg0YzYyYjcxOTVmYTZmNjU1ODM0OF8xLTEtMS0xLTM4NTky_ecbea78e-fa9b-447c-a6fa-03b92e166fc6">GNTX</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xL2ZyYWc6NzQyMWI3M2ZmNmU0NDFhOGEwZmM3MDk4YTU3NDAyM2QvdGFibGU6MTEzMzQ3Y2FjNTc4NGM2MmI3MTk1ZmE2ZjY1NTgzNDgvdGFibGVyYW5nZToxMTMzNDdjYWM1Nzg0YzYyYjcxOTVmYTZmNjU1ODM0OF8xLTItMS0xLTM4NTky_d6dc4622-8577-4555-b1b0-68186cf1232d">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xL2ZyYWc6NzQyMWI3M2ZmNmU0NDFhOGEwZmM3MDk4YTU3NDAyM2QvdGV4dHJlZ2lvbjo3NDIxYjczZmY2ZTQ0MWE4YTBmYzcwOThhNTc0MDIzZF8yNTg0_facd66a4-1cab-43eb-b2e4-1af9671455a2">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xL2ZyYWc6NzQyMWI3M2ZmNmU0NDFhOGEwZmM3MDk4YTU3NDAyM2QvdGV4dHJlZ2lvbjo3NDIxYjczZmY2ZTQ0MWE4YTBmYzcwOThhNTc0MDIzZF8yNTc5_51cfc48b-a715-49f9-919b-77f05a7982f3">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xL2ZyYWc6NzQyMWI3M2ZmNmU0NDFhOGEwZmM3MDk4YTU3NDAyM2QvdGFibGU6Yjk2NTY5ZWQ0ODllNDQ0Y2I4M2UwNGIyNDhmOWExNDIvdGFibGVyYW5nZTpiOTY1NjllZDQ4OWU0NDRjYjgzZTA0YjI0OGY5YTE0Ml8wLTAtMS0xLTM4NTky_ad25687f-ed8d-4bb7-868c-d4d0e8253a47">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xL2ZyYWc6NzQyMWI3M2ZmNmU0NDFhOGEwZmM3MDk4YTU3NDAyM2QvdGFibGU6Yjk2NTY5ZWQ0ODllNDQ0Y2I4M2UwNGIyNDhmOWExNDIvdGFibGVyYW5nZTpiOTY1NjllZDQ4OWU0NDRjYjgzZTA0YjI0OGY5YTE0Ml8yLTQtMS0xLTM4NTky_eed96838-f1ce-4713-b19f-1b6a7044ef94">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xL2ZyYWc6NzQyMWI3M2ZmNmU0NDFhOGEwZmM3MDk4YTU3NDAyM2QvdGFibGU6Yjk2NTY5ZWQ0ODllNDQ0Y2I4M2UwNGIyNDhmOWExNDIvdGFibGVyYW5nZTpiOTY1NjllZDQ4OWU0NDRjYjgzZTA0YjI0OGY5YTE0Ml80LTQtMS0xLTM4NTky_7e2598dd-bd81-46f0-bbed-410f0bda9022">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xL2ZyYWc6NzQyMWI3M2ZmNmU0NDFhOGEwZmM3MDk4YTU3NDAyM2QvdGV4dHJlZ2lvbjo3NDIxYjczZmY2ZTQ0MWE4YTBmYzcwOThhNTc0MDIzZF8yNTgw_eb25b4cb-3c51-438f-9e0c-19b573726647">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="ied8bf94eca594079948d607da9e9f132_I20220722"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xL2ZyYWc6NzQyMWI3M2ZmNmU0NDFhOGEwZmM3MDk4YTU3NDAyM2QvdGFibGU6ZTRjYjg0NWM2NzRhNDlmYTgxMjI4OGE1ODZmM2ZjMmQvdGFibGVyYW5nZTplNGNiODQ1YzY3NGE0OWZhODEyMjg4YTU4NmYzZmMyZF8xLTItMS0xLTM4NTky_cc7253f0-52ab-4112-96ef-0570664546f8"
      unitRef="shares">235129597</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMy0xLTEtMS0zODU5Mg_21b3cbc5-7e27-4b1e-9e02-03d78b29e9f1"
      unitRef="usd">269372471</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMy0zLTEtMS0zODU5Mg_2d0cd8ac-7a36-4343-8f29-9afede079e8b"
      unitRef="usd">262311670</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:ShortTermInvestments
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfNC0xLTEtMS0zODU5Mg_67422e46-c126-4b88-a04c-e6d378f57675"
      unitRef="usd">11992154</us-gaap:ShortTermInvestments>
    <us-gaap:ShortTermInvestments
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfNC0zLTEtMS0zODU5Mg_9ee97794-62ae-47b4-86de-5fb3fd83a21b"
      unitRef="usd">5423612</us-gaap:ShortTermInvestments>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfNS0xLTEtMS0zODU5Mg_b9792d1d-57b8-44e5-9144-48e1e113f022"
      unitRef="usd">274404572</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfNS0zLTEtMS0zODU5Mg_990fed52-1eac-4a71-a093-300b9f44eb95"
      unitRef="usd">249794906</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfNi0xLTEtMS0zODU5Mg_1bf25e6c-6ea2-4c56-ad8d-2228f37f3e04"
      unitRef="usd">392577825</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfNi0zLTEtMS0zODU5Mg_7d53c6a9-65f0-4fc9-a2e6-1dacf670daff"
      unitRef="usd">316267442</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfNy0xLTEtMS0zODU5Mg_27016606-6910-4a98-93e5-393047ab43a0"
      unitRef="usd">43539709</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfNy0zLTEtMS0zODU5Mg_22a2c17f-d5e7-4ffb-ba52-2bed946d57c3"
      unitRef="usd">39178119</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfOC0xLTEtMS0zODU5Mg_9f9073d5-a3a6-4897-a8d0-c3b316224345"
      unitRef="usd">991886731</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfOC0zLTEtMS0zODU5Mg_40a6302f-1896-45bd-b907-db0131affa7f"
      unitRef="usd">872975749</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMTAtMS0xLTEtMzg1OTI_9667745b-a1c9-4aa7-940d-4d7fa00f6d00"
      unitRef="usd">488913960</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMTAtMy0xLTEtMzg1OTI_d07a2f97-7db5-4567-9c90-3b30f4a76a90"
      unitRef="usd">464121676</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Goodwill
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMTMtMS0xLTEtMzg1OTI_3756f1e7-67cb-40b1-8742-f3d79db7d566"
      unitRef="usd">313857650</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMTMtMy0xLTEtMzg1OTI_bc38a41d-8cef-45d9-b357-7e4c3e33d180"
      unitRef="usd">313960209</us-gaap:Goodwill>
    <us-gaap:LongTermInvestments
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMTQtMS0xLTEtMzg1OTI_b5b4ed46-bd81-4329-950a-331c7b94868d"
      unitRef="usd">157704267</us-gaap:LongTermInvestments>
    <us-gaap:LongTermInvestments
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMTQtMy0xLTEtMzg1OTI_10c72f3a-52b1-4011-8d52-84992fc58cf1"
      unitRef="usd">207693147</us-gaap:LongTermInvestments>
    <us-gaap:EquitySecuritiesWithoutReadilyDeterminableFairValueAmount
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMTUtMS0xLTEtNDI3MDc_dc6a44b5-a2bc-4987-9b78-a24075697e0e"
      unitRef="usd">39940046</us-gaap:EquitySecuritiesWithoutReadilyDeterminableFairValueAmount>
    <us-gaap:EquitySecuritiesWithoutReadilyDeterminableFairValueAmount
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMTUtMy0xLTEtNDI3MDc_8934bdfa-33bc-415e-b3e8-8dde46068665"
      unitRef="usd">0</us-gaap:EquitySecuritiesWithoutReadilyDeterminableFairValueAmount>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMTUtMS0xLTEtMzg1OTI_55328352-86b2-4e5f-89d4-a599d910e425"
      unitRef="usd">229010910</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMTUtMy0xLTEtMzg1OTI_eeb3ef95-9e83-4438-b0f8-abf75852c21d"
      unitRef="usd">239189627</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <gntx:PatentAndOtherAssetsNet
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMTYtMS0xLTEtMzg1OTI_2dc2e80f-f386-4c25-a50a-fbde9d63e719"
      unitRef="usd">63140670</gntx:PatentAndOtherAssetsNet>
    <gntx:PatentAndOtherAssetsNet
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMTYtMy0xLTEtMzg1OTI_494342b3-3272-4464-80c5-fd55904ef040"
      unitRef="usd">33450758</gntx:PatentAndOtherAssetsNet>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMTctMS0xLTEtMzg1OTI_183a2f9e-246b-4fea-8b22-6760f475f9b9"
      unitRef="usd">803653543</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMTctMy0xLTEtMzg1OTI_e22ae947-e82a-4902-ad7a-7e9ad00f53c0"
      unitRef="usd">794293741</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMTktMS0xLTEtMzg1OTI_a18dd20e-d6e3-4759-afb2-f072178a2904"
      unitRef="usd">2284454234</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMTktMy0xLTEtMzg1OTI_2f4b0e54-fdf5-48b3-8699-d66886c2ddb0"
      unitRef="usd">2131391166</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMjQtMS0xLTEtMzg1OTI_dc316030-e525-416a-a54e-f67e38987634"
      unitRef="usd">186623085</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMjQtMy0xLTEtMzg1OTI_b80c0a48-76c7-41e3-93dc-18bb4f666e8f"
      unitRef="usd">98342928</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMjYtMS0xLTEtMzg1OTI_3300ff8f-91ab-45b1-b1f4-94d360748b2b"
      unitRef="usd">99548802</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMjYtMy0xLTEtMzg1OTI_537433e8-c9ca-4a40-a517-d8d3083bf380"
      unitRef="usd">83313172</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMjctMS0xLTEtMzg1OTI_d76c8285-23f1-456e-97b6-c3cb1155f164"
      unitRef="usd">286171887</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMjctMy0xLTEtMzg1OTI_a504a58c-6ac3-49e1-a39b-c6af6902fb62"
      unitRef="usd">181656100</us-gaap:LiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMjktMS0xLTEtMzg1OTI_ffc5992e-124b-4e3e-a744-b47ad75275ed"
      unitRef="usd">11707867</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMjktMy0xLTEtMzg1OTI_23c58204-e60d-46ac-be2a-c47a1cbd13aa"
      unitRef="usd">11746599</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMzUtMS0xLTEtMzg1OTI_2c72946d-700f-456d-a402-552420e914c3"
      unitRef="usd">297879754</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMzUtMy0xLTEtMzg1OTI_3767127c-95da-4655-8f43-87f53ab4d6f0"
      unitRef="usd">193402699</us-gaap:Liabilities>
    <us-gaap:CommonStockValue
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMzgtMS0xLTEtMzg1OTI_d588c55e-5921-4ca4-96d0-2d09296b3418"
      unitRef="usd">14107936</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMzgtMy0xLTEtMzg1OTI_3f9d7b37-06d0-4aa0-bade-0e59e63694e8"
      unitRef="usd">14186450</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMzktMS0xLTEtMzg1OTI_f8cc9335-02f9-40d4-b90c-9ab324367361"
      unitRef="usd">900576404</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMzktMy0xLTEtMzg1OTI_0973d0da-098a-474e-8578-cbb80aca3cc8"
      unitRef="usd">879413385</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfNDAtMS0xLTEtMzg1OTI_c24e2e47-d580-47a6-8cae-256d760d2414"
      unitRef="usd">1082846019</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfNDAtMy0xLTEtMzg1OTI_10cf9700-065d-4aec-8576-45ff521ead46"
      unitRef="usd">1042461388</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfNDEtMS0xLTEtMzg1OTI_8a245238-9ee6-45d3-be09-c352589d3d87"
      unitRef="usd">-10955879</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfNDEtMy0xLTEtMzg1OTI_4d1c5efd-5198-4373-94be-82b9034697bc"
      unitRef="usd">1927244</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockholdersEquity
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfNDItMS0xLTEtMzg1OTI_bdfcd6fa-94ff-44fc-ad82-8284c8290009"
      unitRef="usd">1986574480</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfNDItMy0xLTEtMzg1OTI_d7b1d6d6-1dde-40fc-91ba-8387a3cca571"
      unitRef="usd">1937988467</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfNDMtMS0xLTEtMzg1OTI_b603e83e-235c-43de-909e-cc981e87933a"
      unitRef="usd">2284454234</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfNDMtMy0xLTEtMzg1OTI_0aaeaae8-ad24-4cd4-b4f8-8f1fdeea6c1b"
      unitRef="usd">2131391166</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMi0xLTEtMS0zODU5Mg_074b4518-dbc9-43bc-9442-80275ff1205f"
      unitRef="usd">463423002</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMi0zLTEtMS0zODU5Mg_f6251cb5-cf1e-4f08-9022-a307cf413c8d"
      unitRef="usd">428005026</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMi01LTEtMS0zODU5Mg_e3b12acc-d0bf-4a83-b81e-1f8d137d5ab8"
      unitRef="usd">931673777</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMi03LTEtMS0zODU5Mg_f2423a75-e4a2-438e-9c75-5fa00358b3ef"
      unitRef="usd">911729865</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfNC0xLTEtMS0zODU5Mg_9021fb4a-7bca-4dd1-a728-0ebcce418bbb"
      unitRef="usd">315055988</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfNC0zLTEtMS0zODU5Mg_8ea4921a-abb3-4c69-a18b-7238a012d05f"
      unitRef="usd">276408285</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfNC01LTEtMS0zODU5Mg_a2f407e6-c299-400d-8090-25aafdd48a97"
      unitRef="usd">622894804</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfNC03LTEtMS0zODU5Mg_03abf64f-c6d2-48bd-bbc7-952dccf5d8f7"
      unitRef="usd">576832956</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfNS0xLTEtMS0zODU5Mg_fc29f751-933b-46c7-a1b2-c06a05b7259a"
      unitRef="usd">148367014</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfNS0zLTEtMS0zODU5Mg_625d5aee-71ec-4b83-b3fe-107254b0fea5"
      unitRef="usd">151596741</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfNS01LTEtMS0zODU5Mg_bfc2827e-b924-44c7-b684-99ad2359aad6"
      unitRef="usd">308778973</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfNS03LTEtMS0zODU5Mg_07ad083a-e42b-49c7-a1ba-6abb63e83235"
      unitRef="usd">334896909</us-gaap:GrossProfit>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfOC0xLTEtMS0zODU5Mg_1556423c-fc5d-4776-8d2f-575e24ce7171"
      unitRef="usd">32857419</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfOC0zLTEtMS0zODU5Mg_666184f3-6388-49a4-a348-b8a76c59eda1"
      unitRef="usd">29059058</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfOC01LTEtMS0zODU5Mg_9f01355e-acb1-49cb-9589-97e75f8eee7a"
      unitRef="usd">64832406</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfOC03LTEtMS0zODU5Mg_c92a0f3b-ad2c-46fb-920a-646f2f30d663"
      unitRef="usd">56711139</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfOS0xLTEtMS0zODU5Mg_a8bb9fc1-def4-4172-9f7e-f11a4a304f73"
      unitRef="usd">29718626</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfOS0zLTEtMS0zODU5Mg_59276b86-2c11-411b-aeba-73009683bf51"
      unitRef="usd">22613062</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfOS01LTEtMS0zODU5Mg_66da760f-adcf-430f-9570-c30545e98038"
      unitRef="usd">54849694</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfOS03LTEtMS0zODU5Mg_e396f664-37e1-4165-b562-d8452c028824"
      unitRef="usd">44527448</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingExpenses
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMTAtMS0xLTEtMzg1OTI_df41a5fb-e698-4218-aa08-cbef2860e05e"
      unitRef="usd">62576045</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMTAtMy0xLTEtMzg1OTI_fd1b2e66-7526-4038-9a6a-a5050e2065c1"
      unitRef="usd">51672120</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMTAtNS0xLTEtMzg1OTI_d34383ac-ef06-4490-ade4-73fc7eff96dd"
      unitRef="usd">119682100</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMTAtNy0xLTEtMzg1OTI_4086846d-465d-40cd-af2a-eff397c41ad2"
      unitRef="usd">101238587</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMTItMS0xLTEtMzg1OTI_0d8b8020-319a-46e4-a2d5-f5901ce85bbe"
      unitRef="usd">85790969</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMTItMy0xLTEtMzg1OTI_46900a21-1aa2-4790-bf7c-e734738c0e34"
      unitRef="usd">99924621</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMTItNS0xLTEtMzg1OTI_4952a4e7-23a3-45ca-8fb2-c7f0dbbe0a9d"
      unitRef="usd">189096873</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMTItNy0xLTEtMzg1OTI_0440c562-a0c2-4154-aac0-148a1e3174f7"
      unitRef="usd">233658322</us-gaap:OperatingIncomeLoss>
    <us-gaap:InvestmentIncomeNonoperating
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMTUtMS0xLTEtMzg1OTI_ce8f5a64-7131-4c54-8ccd-99fe815db739"
      unitRef="usd">920284</us-gaap:InvestmentIncomeNonoperating>
    <us-gaap:InvestmentIncomeNonoperating
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMTUtMy0xLTEtMzg1OTI_ff1a11dd-6f63-4f45-93b8-7405134f5851"
      unitRef="usd">903139</us-gaap:InvestmentIncomeNonoperating>
    <us-gaap:InvestmentIncomeNonoperating
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMTUtNS0xLTEtMzg1OTI_c854bf94-08ef-49e1-9645-9c31e62a97e5"
      unitRef="usd">1708600</us-gaap:InvestmentIncomeNonoperating>
    <us-gaap:InvestmentIncomeNonoperating
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMTUtNy0xLTEtMzg1OTI_b21e0bed-4528-4487-9037-7b2ae09291c1"
      unitRef="usd">1926549</us-gaap:InvestmentIncomeNonoperating>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMTYtMS0xLTEtMzg1OTI_ee4c6d33-fe74-45a7-a006-aa654d4dbfbd"
      unitRef="usd">-1903269</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMTYtMy0xLTEtMzg1OTI_5640a407-a924-42e5-bc25-3e8407c70447"
      unitRef="usd">987959</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMTYtNS0xLTEtMzg1OTI_3b01ae77-56c0-4a07-84d2-7b276068c5b7"
      unitRef="usd">-2702079</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMTYtNy0xLTEtMzg1OTI_38f0eb39-b7b2-4f5f-aa8d-e1d0222068ff"
      unitRef="usd">1497584</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMTctMS0xLTEtMzg1OTI_f8f43349-e340-4d73-acc3-3bb5df628ad7"
      unitRef="usd">-982985</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMTctMy0xLTEtMzg1OTI_ee993bbf-b269-4fdd-aa8f-e76006c79481"
      unitRef="usd">1891098</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMTctNS0xLTEtMzg1OTI_c7fc5dca-8016-41d4-bc9e-4aef2a28adba"
      unitRef="usd">-993479</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMTctNy0xLTEtMzg1OTI_063d7b6e-f609-4e64-bec6-8560e7a72b69"
      unitRef="usd">3424133</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMTktMS0xLTEtMzg1OTI_57f037b8-c7b5-4385-8614-9186f88f6168"
      unitRef="usd">84807984</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMTktMy0xLTEtMzg1OTI_f5e5b825-9cfa-4a7c-97bb-6bfb426a6d94"
      unitRef="usd">101815719</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMTktNS0xLTEtMzg1OTI_659d34b6-a080-4780-a365-dd7812ba7d17"
      unitRef="usd">188103394</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMTktNy0xLTEtMzg1OTI_37243743-4af2-437e-8281-5a3e98305417"
      unitRef="usd">237082455</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMjEtMS0xLTEtMzg1OTI_6408246e-54d7-493d-80da-39d76d9df476"
      unitRef="usd">12403581</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMjEtMy0xLTEtMzg1OTI_860a60ae-3058-450f-bae7-19cc6129b5ef"
      unitRef="usd">15309301</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMjEtNS0xLTEtMzg1OTI_8e161db1-c8cf-47d9-87be-69304e5e71cc"
      unitRef="usd">28170366</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMjEtNy0xLTEtMzg1OTI_dd520dbe-fbc0-4d6a-8627-fb4703f1d95b"
      unitRef="usd">37125167</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMjMtMS0xLTEtMzg1OTI_e9513825-c3fc-425c-b122-47e998c1b3b5"
      unitRef="usd">72404403</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMjMtMy0xLTEtMzg1OTI_69eaffc3-b3f1-47dd-86ca-580fc099bc29"
      unitRef="usd">86506418</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMjMtNS0xLTEtMzg1OTI_70f5d643-131b-4d03-b72c-d627754acb9c"
      unitRef="usd">159933028</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMjMtNy0xLTEtMzg1OTI_f5a375f9-2926-4dee-a0cd-b387a26437a9"
      unitRef="usd">199957288</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMjYtMS0xLTEtMzg1OTI_1454d8f0-c9b1-4a39-9249-5bb88b1deb26"
      unitRef="usdPerShare">0.31</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMjYtMy0xLTEtMzg1OTI_e5716f53-7190-466a-ac29-b29982993228"
      unitRef="usdPerShare">0.36</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMjYtNS0xLTEtMzg1OTI_5e1c3540-f254-4bcc-9e70-435916d969b1"
      unitRef="usdPerShare">0.68</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMjYtNy0xLTEtMzg1OTI_ba27b911-057d-4a5c-9a91-ce102cfc1f13"
      unitRef="usdPerShare">0.83</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMjctMS0xLTEtMzg1OTI_5f032fce-b61a-4597-ad87-73c72249cf8f"
      unitRef="usdPerShare">0.31</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMjctMy0xLTEtMzg1OTI_a56c2eb7-ac64-4443-b771-6f0f0d0e8a24"
      unitRef="usdPerShare">0.36</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMjctNS0xLTEtMzg1OTI_a35d6b48-b742-4a82-af6c-63744a3cbb35"
      unitRef="usdPerShare">0.68</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMjctNy0xLTEtMzg1OTI_b53b275b-7b9c-4947-a04d-18d8d3fed14f"
      unitRef="usdPerShare">0.82</us-gaap:EarningsPerShareDiluted>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMjktMS0xLTEtMzg1OTI_1982285f-3b1b-458d-b6ad-0616ab881b88"
      unitRef="usdPerShare">0.120</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMjktMy0xLTEtMzg1OTI_f066a713-f332-4243-aaea-4f34760877f0"
      unitRef="usdPerShare">0.120</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMjktNS0xLTEtMzg1OTI_b2524d70-4f74-4eec-8e60-c72a052cc46e"
      unitRef="usdPerShare">0.240</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMjktNy0xLTEtMzg1OTI_3bec5c02-688d-4f0f-811e-cbcd67d45e0d"
      unitRef="usdPerShare">0.240</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:NetIncomeLoss
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yMi9mcmFnOjcyZDk2NTI0OTg0ZjQwZDdiNmNhZjkzOWFlOTY4Yzg3L3RhYmxlOjA5YTQ2NGEzMDBiYTQ1MDQ5Y2ZlYjhhMzM4NjA1YjY5L3RhYmxlcmFuZ2U6MDlhNDY0YTMwMGJhNDUwNDljZmViOGEzMzg2MDViNjlfMi0xLTEtMS0zODU5Mg_24ee703d-d6ad-4afe-a654-c104767e2dd4"
      unitRef="usd">72404403</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yMi9mcmFnOjcyZDk2NTI0OTg0ZjQwZDdiNmNhZjkzOWFlOTY4Yzg3L3RhYmxlOjA5YTQ2NGEzMDBiYTQ1MDQ5Y2ZlYjhhMzM4NjA1YjY5L3RhYmxlcmFuZ2U6MDlhNDY0YTMwMGJhNDUwNDljZmViOGEzMzg2MDViNjlfMi0zLTEtMS0zODU5Mg_d5be51b1-ed6b-48cf-8298-84b1f894f879"
      unitRef="usd">86506418</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yMi9mcmFnOjcyZDk2NTI0OTg0ZjQwZDdiNmNhZjkzOWFlOTY4Yzg3L3RhYmxlOjA5YTQ2NGEzMDBiYTQ1MDQ5Y2ZlYjhhMzM4NjA1YjY5L3RhYmxlcmFuZ2U6MDlhNDY0YTMwMGJhNDUwNDljZmViOGEzMzg2MDViNjlfMi01LTEtMS0zODU5Mg_c1bacdee-4bb0-4661-99c8-227081725fc2"
      unitRef="usd">159933028</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yMi9mcmFnOjcyZDk2NTI0OTg0ZjQwZDdiNmNhZjkzOWFlOTY4Yzg3L3RhYmxlOjA5YTQ2NGEzMDBiYTQ1MDQ5Y2ZlYjhhMzM4NjA1YjY5L3RhYmxlcmFuZ2U6MDlhNDY0YTMwMGJhNDUwNDljZmViOGEzMzg2MDViNjlfMi03LTEtMS0zODU5Mg_21db2be8-c0da-4dcb-9987-4e26bc6d223f"
      unitRef="usd">199957288</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yMi9mcmFnOjcyZDk2NTI0OTg0ZjQwZDdiNmNhZjkzOWFlOTY4Yzg3L3RhYmxlOjA5YTQ2NGEzMDBiYTQ1MDQ5Y2ZlYjhhMzM4NjA1YjY5L3RhYmxlcmFuZ2U6MDlhNDY0YTMwMGJhNDUwNDljZmViOGEzMzg2MDViNjlfNS0xLTEtMS0zODU5Mg_e0d7e7e1-3b3f-4906-8dc9-f7dede9eecd4"
      unitRef="usd">-3131326</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yMi9mcmFnOjcyZDk2NTI0OTg0ZjQwZDdiNmNhZjkzOWFlOTY4Yzg3L3RhYmxlOjA5YTQ2NGEzMDBiYTQ1MDQ5Y2ZlYjhhMzM4NjA1YjY5L3RhYmxlcmFuZ2U6MDlhNDY0YTMwMGJhNDUwNDljZmViOGEzMzg2MDViNjlfNS0zLTEtMS0zODU5Mg_dce052e7-2d8d-43f4-9355-071eb0efdc69"
      unitRef="usd">963199</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yMi9mcmFnOjcyZDk2NTI0OTg0ZjQwZDdiNmNhZjkzOWFlOTY4Yzg3L3RhYmxlOjA5YTQ2NGEzMDBiYTQ1MDQ5Y2ZlYjhhMzM4NjA1YjY5L3RhYmxlcmFuZ2U6MDlhNDY0YTMwMGJhNDUwNDljZmViOGEzMzg2MDViNjlfNS01LTEtMS0zODU5Mg_e809649b-2450-4c95-8990-1352c589c7e4"
      unitRef="usd">-4027746</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yMi9mcmFnOjcyZDk2NTI0OTg0ZjQwZDdiNmNhZjkzOWFlOTY4Yzg3L3RhYmxlOjA5YTQ2NGEzMDBiYTQ1MDQ5Y2ZlYjhhMzM4NjA1YjY5L3RhYmxlcmFuZ2U6MDlhNDY0YTMwMGJhNDUwNDljZmViOGEzMzg2MDViNjlfNS03LTEtMS0zODU5Mg_b8af4504-8860-4d89-b15d-ea0d58bc1da2"
      unitRef="usd">110787</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yMi9mcmFnOjcyZDk2NTI0OTg0ZjQwZDdiNmNhZjkzOWFlOTY4Yzg3L3RhYmxlOjA5YTQ2NGEzMDBiYTQ1MDQ5Y2ZlYjhhMzM4NjA1YjY5L3RhYmxlcmFuZ2U6MDlhNDY0YTMwMGJhNDUwNDljZmViOGEzMzg2MDViNjlfNy0xLTEtMS0zODU5Mg_447b598a-27ac-4b4b-bb90-af9536fca618"
      unitRef="usd">-3414108</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yMi9mcmFnOjcyZDk2NTI0OTg0ZjQwZDdiNmNhZjkzOWFlOTY4Yzg3L3RhYmxlOjA5YTQ2NGEzMDBiYTQ1MDQ5Y2ZlYjhhMzM4NjA1YjY5L3RhYmxlcmFuZ2U6MDlhNDY0YTMwMGJhNDUwNDljZmViOGEzMzg2MDViNjlfNy0zLTEtMS0zODU5Mg_856a8f8c-d6d6-4ee7-8070-f24c259ecc76"
      unitRef="usd">1705281</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yMi9mcmFnOjcyZDk2NTI0OTg0ZjQwZDdiNmNhZjkzOWFlOTY4Yzg3L3RhYmxlOjA5YTQ2NGEzMDBiYTQ1MDQ5Y2ZlYjhhMzM4NjA1YjY5L3RhYmxlcmFuZ2U6MDlhNDY0YTMwMGJhNDUwNDljZmViOGEzMzg2MDViNjlfNy01LTEtMS0zODU5Mg_d32c8b13-eae6-47c6-b5da-de1a0a5647ce"
      unitRef="usd">-11209338</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yMi9mcmFnOjcyZDk2NTI0OTg0ZjQwZDdiNmNhZjkzOWFlOTY4Yzg3L3RhYmxlOjA5YTQ2NGEzMDBiYTQ1MDQ5Y2ZlYjhhMzM4NjA1YjY5L3RhYmxlcmFuZ2U6MDlhNDY0YTMwMGJhNDUwNDljZmViOGEzMzg2MDViNjlfNy03LTEtMS0zODU5Mg_deacc869-96e2-4466-9165-d72ffc8cf7a2"
      unitRef="usd">-3413672</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeTaxPortionAttributableToParent
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yMi9mcmFnOjcyZDk2NTI0OTg0ZjQwZDdiNmNhZjkzOWFlOTY4Yzg3L3RhYmxlOjA5YTQ2NGEzMDBiYTQ1MDQ5Y2ZlYjhhMzM4NjA1YjY5L3RhYmxlcmFuZ2U6MDlhNDY0YTMwMGJhNDUwNDljZmViOGEzMzg2MDViNjlfOS0xLTEtMS0zODU5Mg_0e78615a-6207-4869-8ecd-437d1d897414"
      unitRef="usd">-6545434</us-gaap:OtherComprehensiveIncomeLossBeforeTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossBeforeTaxPortionAttributableToParent
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yMi9mcmFnOjcyZDk2NTI0OTg0ZjQwZDdiNmNhZjkzOWFlOTY4Yzg3L3RhYmxlOjA5YTQ2NGEzMDBiYTQ1MDQ5Y2ZlYjhhMzM4NjA1YjY5L3RhYmxlcmFuZ2U6MDlhNDY0YTMwMGJhNDUwNDljZmViOGEzMzg2MDViNjlfOS0zLTEtMS0zODU5Mg_25ab5e78-c269-49c1-869c-d21ae23dfb2f"
      unitRef="usd">2668480</us-gaap:OtherComprehensiveIncomeLossBeforeTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossBeforeTaxPortionAttributableToParent
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yMi9mcmFnOjcyZDk2NTI0OTg0ZjQwZDdiNmNhZjkzOWFlOTY4Yzg3L3RhYmxlOjA5YTQ2NGEzMDBiYTQ1MDQ5Y2ZlYjhhMzM4NjA1YjY5L3RhYmxlcmFuZ2U6MDlhNDY0YTMwMGJhNDUwNDljZmViOGEzMzg2MDViNjlfOS01LTEtMS0zODU5Mg_775de0b3-c252-413e-b5ed-bbc86795539f"
      unitRef="usd">-15237084</us-gaap:OtherComprehensiveIncomeLossBeforeTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossBeforeTaxPortionAttributableToParent
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yMi9mcmFnOjcyZDk2NTI0OTg0ZjQwZDdiNmNhZjkzOWFlOTY4Yzg3L3RhYmxlOjA5YTQ2NGEzMDBiYTQ1MDQ5Y2ZlYjhhMzM4NjA1YjY5L3RhYmxlcmFuZ2U6MDlhNDY0YTMwMGJhNDUwNDljZmViOGEzMzg2MDViNjlfOS03LTEtMS0zODU5Mg_2757885e-847e-40cd-9b66-627db9d7cc45"
      unitRef="usd">-3302885</us-gaap:OtherComprehensiveIncomeLossBeforeTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossTax
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yMi9mcmFnOjcyZDk2NTI0OTg0ZjQwZDdiNmNhZjkzOWFlOTY4Yzg3L3RhYmxlOjA5YTQ2NGEzMDBiYTQ1MDQ5Y2ZlYjhhMzM4NjA1YjY5L3RhYmxlcmFuZ2U6MDlhNDY0YTMwMGJhNDUwNDljZmViOGEzMzg2MDViNjlfMTEtMS0xLTEtMzg1OTI_4fea5c4b-a711-4829-9187-976134b347c0"
      unitRef="usd">-716963</us-gaap:OtherComprehensiveIncomeLossTax>
    <us-gaap:OtherComprehensiveIncomeLossTax
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yMi9mcmFnOjcyZDk2NTI0OTg0ZjQwZDdiNmNhZjkzOWFlOTY4Yzg3L3RhYmxlOjA5YTQ2NGEzMDBiYTQ1MDQ5Y2ZlYjhhMzM4NjA1YjY5L3RhYmxlcmFuZ2U6MDlhNDY0YTMwMGJhNDUwNDljZmViOGEzMzg2MDViNjlfMTEtMy0xLTEtMzg1OTI_d4981150-c4cd-4a75-aefc-252e99684623"
      unitRef="usd">358109</us-gaap:OtherComprehensiveIncomeLossTax>
    <us-gaap:OtherComprehensiveIncomeLossTax
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yMi9mcmFnOjcyZDk2NTI0OTg0ZjQwZDdiNmNhZjkzOWFlOTY4Yzg3L3RhYmxlOjA5YTQ2NGEzMDBiYTQ1MDQ5Y2ZlYjhhMzM4NjA1YjY5L3RhYmxlcmFuZ2U6MDlhNDY0YTMwMGJhNDUwNDljZmViOGEzMzg2MDViNjlfMTEtNS0xLTEtMzg1OTI_107ab031-a469-47db-9bd3-042c804e520b"
      unitRef="usd">-2353961</us-gaap:OtherComprehensiveIncomeLossTax>
    <us-gaap:OtherComprehensiveIncomeLossTax
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yMi9mcmFnOjcyZDk2NTI0OTg0ZjQwZDdiNmNhZjkzOWFlOTY4Yzg3L3RhYmxlOjA5YTQ2NGEzMDBiYTQ1MDQ5Y2ZlYjhhMzM4NjA1YjY5L3RhYmxlcmFuZ2U6MDlhNDY0YTMwMGJhNDUwNDljZmViOGEzMzg2MDViNjlfMTEtNy0xLTEtMzg1OTI_620b9835-3ac3-4c16-9879-6431c218152f"
      unitRef="usd">-716871</us-gaap:OtherComprehensiveIncomeLossTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yMi9mcmFnOjcyZDk2NTI0OTg0ZjQwZDdiNmNhZjkzOWFlOTY4Yzg3L3RhYmxlOjA5YTQ2NGEzMDBiYTQ1MDQ5Y2ZlYjhhMzM4NjA1YjY5L3RhYmxlcmFuZ2U6MDlhNDY0YTMwMGJhNDUwNDljZmViOGEzMzg2MDViNjlfMTMtMS0xLTEtMzg1OTI_9679b369-11bc-4bba-bf39-d014bd7cf991"
      unitRef="usd">-5828471</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yMi9mcmFnOjcyZDk2NTI0OTg0ZjQwZDdiNmNhZjkzOWFlOTY4Yzg3L3RhYmxlOjA5YTQ2NGEzMDBiYTQ1MDQ5Y2ZlYjhhMzM4NjA1YjY5L3RhYmxlcmFuZ2U6MDlhNDY0YTMwMGJhNDUwNDljZmViOGEzMzg2MDViNjlfMTMtMy0xLTEtMzg1OTI_f94316ac-67fe-4476-915b-3f50c90b9d15"
      unitRef="usd">2310371</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yMi9mcmFnOjcyZDk2NTI0OTg0ZjQwZDdiNmNhZjkzOWFlOTY4Yzg3L3RhYmxlOjA5YTQ2NGEzMDBiYTQ1MDQ5Y2ZlYjhhMzM4NjA1YjY5L3RhYmxlcmFuZ2U6MDlhNDY0YTMwMGJhNDUwNDljZmViOGEzMzg2MDViNjlfMTMtNS0xLTEtMzg1OTI_fc927f23-5d76-4353-afb2-2254cd902941"
      unitRef="usd">-12883123</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yMi9mcmFnOjcyZDk2NTI0OTg0ZjQwZDdiNmNhZjkzOWFlOTY4Yzg3L3RhYmxlOjA5YTQ2NGEzMDBiYTQ1MDQ5Y2ZlYjhhMzM4NjA1YjY5L3RhYmxlcmFuZ2U6MDlhNDY0YTMwMGJhNDUwNDljZmViOGEzMzg2MDViNjlfMTMtNy0xLTEtMzg1OTI_f1d0981e-ed3a-4594-8293-66dbe19a03cd"
      unitRef="usd">-2586014</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yMi9mcmFnOjcyZDk2NTI0OTg0ZjQwZDdiNmNhZjkzOWFlOTY4Yzg3L3RhYmxlOjA5YTQ2NGEzMDBiYTQ1MDQ5Y2ZlYjhhMzM4NjA1YjY5L3RhYmxlcmFuZ2U6MDlhNDY0YTMwMGJhNDUwNDljZmViOGEzMzg2MDViNjlfMTUtMS0xLTEtMzg1OTI_78cbb23a-1245-48d4-a4c3-d77b74247f73"
      unitRef="usd">66575932</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yMi9mcmFnOjcyZDk2NTI0OTg0ZjQwZDdiNmNhZjkzOWFlOTY4Yzg3L3RhYmxlOjA5YTQ2NGEzMDBiYTQ1MDQ5Y2ZlYjhhMzM4NjA1YjY5L3RhYmxlcmFuZ2U6MDlhNDY0YTMwMGJhNDUwNDljZmViOGEzMzg2MDViNjlfMTUtMy0xLTEtMzg1OTI_dc817467-1794-4365-af90-d0f46f47bdf9"
      unitRef="usd">88816789</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yMi9mcmFnOjcyZDk2NTI0OTg0ZjQwZDdiNmNhZjkzOWFlOTY4Yzg3L3RhYmxlOjA5YTQ2NGEzMDBiYTQ1MDQ5Y2ZlYjhhMzM4NjA1YjY5L3RhYmxlcmFuZ2U6MDlhNDY0YTMwMGJhNDUwNDljZmViOGEzMzg2MDViNjlfMTUtNS0xLTEtMzg1OTI_44d6987c-740c-486c-a98c-c67e7506254f"
      unitRef="usd">147049905</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yMi9mcmFnOjcyZDk2NTI0OTg0ZjQwZDdiNmNhZjkzOWFlOTY4Yzg3L3RhYmxlOjA5YTQ2NGEzMDBiYTQ1MDQ5Y2ZlYjhhMzM4NjA1YjY5L3RhYmxlcmFuZ2U6MDlhNDY0YTMwMGJhNDUwNDljZmViOGEzMzg2MDViNjlfMTUtNy0xLTEtMzg1OTI_fe96cbb4-0364-4483-b57c-c7814e5f73e2"
      unitRef="usd">197371274</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="ic32fc357582241a6afa90961c00ce44f_I20220331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfMS0xLTEtMS0zOTU1MQ_bfe1a759-80c8-4fcb-a8e3-95e19ef5bf8e"
      unitRef="shares">234477338</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="ic32fc357582241a6afa90961c00ce44f_I20220331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfMS0zLTEtMS0zOTU1MQ_b1174dc6-71ac-4527-ab7f-4c8881507a73"
      unitRef="usd">14068640</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ifb0007c6813a416c9ec696f0f95f51af_I20220331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfMS01LTEtMS0zOTU1MQ_cbf8f990-d253-4f26-8874-e35f1b9dbeb5"
      unitRef="usd">881371438</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i8d51631faaee463f87e259341e14a886_I20220331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfMS03LTEtMS0zOTU1MQ_4e8781b8-fd98-41da-a94e-e354f41fed18"
      unitRef="usd">1038656230</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i26f558137c5d4d06992a8998fa162e30_I20220331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfMS05LTEtMS0zOTU1MQ_9b913f19-a0a0-4ffd-b4a8-d4b75c7c318f"
      unitRef="usd">-5127408</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i7b1b5c3619df4590a69e39a8e3c88241_I20220331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfMS0xMS0xLTEtMzk1NTE_198392cb-f52c-4583-b0cb-320f1b2845dd"
      unitRef="usd">1928968900</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="i522fec5937aa4ce18594cb806cc58a0e_D20220401-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfMi0xLTEtMS0zOTU1MQ_efe5990c-39f3-4cfb-ad9c-95fa30bf1ecc"
      unitRef="shares">492494</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i522fec5937aa4ce18594cb806cc58a0e_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfMi0zLTEtMS0zOTU1MQ_5af741b9-99fa-496e-a40a-888e9b5d87c8"
      unitRef="usd">29550</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="id90d613ce86b4ab88ed8a1351dcd6c68_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfMi01LTEtMS0zOTU1MQ_c4000f3c-7cdc-423f-b68d-bc54445c8530"
      unitRef="usd">5641470</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfMi0xMS0xLTEtMzk1NTE_a8162e95-b1cc-4802-b660-28dc22ec8c2f"
      unitRef="usd">5671020</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <gntx:StockIssuedDuringPeriodSharesEquityInvestmentPurchase
      contextRef="i522fec5937aa4ce18594cb806cc58a0e_D20220401-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfNS0xLTEtMS00MjgyMA_b214c784-656e-4658-98bf-dd2c676b4208"
      unitRef="shares">162433</gntx:StockIssuedDuringPeriodSharesEquityInvestmentPurchase>
    <gntx:StockIssuedDuringPeriodValueEquityInvestmentPurchase
      contextRef="i522fec5937aa4ce18594cb806cc58a0e_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfNS0zLTEtMS00MjgyMA_81da61de-c21a-4612-88bb-6506ac0f92e6"
      unitRef="usd">9746</gntx:StockIssuedDuringPeriodValueEquityInvestmentPurchase>
    <gntx:StockIssuedDuringPeriodValueEquityInvestmentPurchase
      contextRef="id90d613ce86b4ab88ed8a1351dcd6c68_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfNS01LTEtMS00MjgyMA_242ddd26-cd1b-4ed8-9876-957e59adba9c"
      unitRef="usd">4990266</gntx:StockIssuedDuringPeriodValueEquityInvestmentPurchase>
    <gntx:StockIssuedDuringPeriodValueEquityInvestmentPurchase
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfNS0xMS0xLTEtNDI4MjA_d81b758a-470a-41a5-8178-f07def8e04bb"
      unitRef="usd">5000012</gntx:StockIssuedDuringPeriodValueEquityInvestmentPurchase>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="id90d613ce86b4ab88ed8a1351dcd6c68_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfNS01LTEtMS0zOTU1MQ_82f28fe4-e739-4047-9584-77ceaa2fbfe0"
      unitRef="usd">8573230</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfNS0xMS0xLTEtMzk1NTE_166fd52b-98f2-409d-9a91-91edf1164849"
      unitRef="usd">8573230</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfNi0wLTEtMS0zOTU1MS90ZXh0cmVnaW9uOmNiOWU1Y2ZlMzhiYjRlODI4MzBmNzE3YTRmZGE3YjhhXzI0_a711abc4-a11f-42c1-8cf3-16487318b073"
      unitRef="usdPerShare">0.12</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:DividendsCommonStockCash
      contextRef="i623830708b05445dbeacf30fec4d7fee_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfNi03LTEtMS0zOTU1MQ_3081fdf4-7875-4482-bc6e-075f9f92163e"
      unitRef="usd">28214614</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfNi0xMS0xLTEtMzk1NTE_3b2a2877-c3bb-40c3-8807-747e97727f58"
      unitRef="usd">28214614</us-gaap:DividendsCommonStockCash>
    <us-gaap:NetIncomeLoss
      contextRef="i623830708b05445dbeacf30fec4d7fee_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfNy03LTEtMS0zOTU1MQ_e7ec2c40-ea45-41db-acad-b9911df7e037"
      unitRef="usd">72404403</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfNy0xMS0xLTEtMzk1NTE_415057b0-a084-492d-90a6-3519b5a27865"
      unitRef="usd">72404403</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i1fbc11e0d6ce4fb5affb7d7de9b305d9_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfOC05LTEtMS0zOTU1MQ_b3934717-5b85-403b-ac69-ac3a687a1b3d"
      unitRef="usd">-5828471</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfOC0xMS0xLTEtMzk1NTE_7846c8c2-66a5-434e-97a3-80f72ba54ef5"
      unitRef="usd">-5828471</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i5ce2485f78d54008a0501ddc98ff737d_I20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfOS0xLTEtMS0zOTU1MQ_b15727ee-6e28-4586-b51a-4f327e8446fe"
      unitRef="shares">235132265</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i5ce2485f78d54008a0501ddc98ff737d_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfOS0zLTEtMS0zOTU1MQ_6e7ee732-b105-49d7-b60c-7301e978d254"
      unitRef="usd">14107936</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ie8c4a8193c1a4716b3703111509632e8_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfOS01LTEtMS0zOTU1MQ_e7a076e3-6faf-4f83-81d8-3b139e3df973"
      unitRef="usd">900576404</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ib27316734acf4c249296e0fa3e271912_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfOS03LTEtMS0zOTU1MQ_0286b5e6-5274-4dae-8807-3b316d79a180"
      unitRef="usd">1082846019</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ia528c73440e347a49538e4c275f550b6_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfOS05LTEtMS0zOTU1MQ_dd4e54da-e0df-486f-8ff3-a8d4751496aa"
      unitRef="usd">-10955879</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfOS0xMS0xLTEtMzk1NTE_dfa2aee1-42b8-423f-b1f5-632582af4d7b"
      unitRef="usd">1986574480</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i64f3c6def7fb4a67b2143abce7ed3f4c_I20210331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfMTEtMS0xLTEtMzk1NTE_b9774ac7-c024-4c3c-bc81-6240b9c1903c"
      unitRef="shares">241538824</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i64f3c6def7fb4a67b2143abce7ed3f4c_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfMTEtMy0xLTEtMzk1NTE_60ffb281-9c4b-467f-a06f-81a5750d6340"
      unitRef="usd">14492329</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ia4986ceaa68b4698932929fc338e8d42_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfMTEtNS0xLTEtMzk1NTE_1d07bfbe-00ef-4876-9777-0494f1afb34b"
      unitRef="usd">859355232</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i26434af1beb041b9af09503fb07ed5a0_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfMTEtNy0xLTEtMzk1NTE_59898c34-117d-4761-9cc4-7750683a00a2"
      unitRef="usd">1085178486</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ibd30428ad50c4ced9f42f256fc5cbc98_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfMTEtOS0xLTEtMzk1NTE_2b62e4c5-07aa-4601-a112-3bfb41df1686"
      unitRef="usd">1954667</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ie162c9826bae4d1a81b3b0b9a96998ef_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfMTEtMTEtMS0xLTM5NTUx_63acc2f3-e5cf-4c4f-baf9-270b0bd1709e"
      unitRef="usd">1960980714</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="i188481447bc8456bb8d834b325024731_D20210401-20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfMTItMS0xLTEtMzk1NTE_b04f6c7b-e9c8-49be-8aad-e488dbdcb4f0"
      unitRef="shares">838896</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i188481447bc8456bb8d834b325024731_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfMTItMy0xLTEtMzk1NTE_46c621cb-6d5d-42d4-801c-66199a8469e5"
      unitRef="usd">50334</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="ie0d3ab4c2c3740e187349dd0fae1e7db_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfMTItNS0xLTEtMzk1NTE_87133b88-22b0-4bae-995c-5e1f1db3c914"
      unitRef="usd">4340710</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfMTItMTEtMS0xLTM5NTUx_f79dd1d9-8051-4864-857c-e75df31af3f6"
      unitRef="usd">4391044</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="i188481447bc8456bb8d834b325024731_D20210401-20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfMTQtMS0xLTEtMzk1NTE_266f931f-0202-4c5b-8b17-c1b435afed16"
      unitRef="shares">3411131</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i188481447bc8456bb8d834b325024731_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfMTQtMy0xLTEtMzk1NTE_0219f2c2-d11f-420e-bf7a-df8774aed1b0"
      unitRef="usd">204668</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="ie0d3ab4c2c3740e187349dd0fae1e7db_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfMTQtNS0xLTEtMzk1NTE_0b513fc3-b29e-43df-ad82-dd87b54783f5"
      unitRef="usd">10745063</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i5a5a2fe7b91e42b3a14833e581819cda_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfMTQtNy0xLTEtMzk1NTE_48326c25-c9e3-4baf-ad0b-e6753d53b337"
      unitRef="usd">104971348</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfMTQtMTEtMS0xLTM5NTUx_67cb878d-329d-4a09-9190-6b3a6f930b63"
      unitRef="usd">115921079</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="ie0d3ab4c2c3740e187349dd0fae1e7db_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfMTUtNS0xLTEtMzk1NTE_95a091ca-b411-4adc-b840-65c601bbc83c"
      unitRef="usd">6727513</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfMTUtMTEtMS0xLTM5NTUx_3d3360be-f438-4d8e-860d-1fad82f7db83"
      unitRef="usd">6727513</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfMTYtMC0xLTEtMzk1NTEvdGV4dHJlZ2lvbjozNzRjZjFhN2NhYjA0MTkxODg2MDliNDZiMDE0OWVkOV8yNA_cde87a6c-0197-41f1-a426-a8aafdd238ad"
      unitRef="usdPerShare">0.12</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:DividendsCommonStockCash
      contextRef="i5a5a2fe7b91e42b3a14833e581819cda_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfMTYtNy0xLTEtMzk1NTE_042053c1-de10-4d8d-8deb-c13aa7ee989a"
      unitRef="usd">28675992</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfMTYtMTEtMS0xLTM5NTUx_d42e3c9a-85d5-4f87-98af-3ff7b82d4c9d"
      unitRef="usd">28675992</us-gaap:DividendsCommonStockCash>
    <us-gaap:NetIncomeLoss
      contextRef="i5a5a2fe7b91e42b3a14833e581819cda_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfMTctNy0xLTEtMzk1NTE_cf5ea67e-f40d-4c0b-9a11-bac70212adce"
      unitRef="usd">86506418</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfMTctMTEtMS0xLTM5NTUx_56792892-3b8a-4bd0-9ce3-f6d55a0b53df"
      unitRef="usd">86506418</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i671fecb4d58a4f529121d1eb3ce879c5_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfMTgtOS0xLTEtMzk1NTE_496fbc0f-d741-4909-bab8-60c503325348"
      unitRef="usd">2310371</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfMTgtMTEtMS0xLTM5NTUx_ba554e7f-e328-4f51-81b3-a48ee8fd323b"
      unitRef="usd">2310371</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i4620041f6e76469ba29d66bec1c9fad4_I20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfMTktMS0xLTEtMzk1NTE_91eadfcc-9daf-4d1b-8d9f-2314c7027c7b"
      unitRef="shares">238966589</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i4620041f6e76469ba29d66bec1c9fad4_I20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfMTktMy0xLTEtMzk1NTE_92fe081b-6511-4c87-8283-4de1cd981c8d"
      unitRef="usd">14337995</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="if58e504178f1440b833bb8c5a4e2b064_I20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfMTktNS0xLTEtMzk1NTE_3d536e79-3bb5-4e5d-aa5f-e14b823529e3"
      unitRef="usd">859678392</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i099eea1162604661a60c3ac4491ac089_I20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfMTktNy0xLTEtMzk1NTE_47724208-5e92-4662-8db9-1174561f9917"
      unitRef="usd">1038037564</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i57528b72030b40ad81e353277154d3ec_I20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfMTktOS0xLTEtMzk1NTE_6cbc5116-71b5-45de-b834-9e5084fcfa31"
      unitRef="usd">4265038</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i3175b4f693074da49c20fc845f3eb98c_I20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOmE4ZGZlNWVhY2RjNzQxOTE4YmU2N2M5NWFiMzMxYTVmL3RhYmxlcmFuZ2U6YThkZmU1ZWFjZGM3NDE5MThiZTY3Yzk1YWIzMzFhNWZfMTktMTEtMS0xLTM5NTUx_e4162b05-0846-42c9-acd6-d1336e2d6c02"
      unitRef="usd">1916318989</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i0088ce043c9d43b8b52fcfe056f01b82_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfMS0xLTEtMS0zODU5Mg_22e7ebc1-f532-4be9-bd99-614455670860"
      unitRef="shares">236440840</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i0088ce043c9d43b8b52fcfe056f01b82_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfMS0zLTEtMS0zODU5Mg_c4121553-42c8-4e4a-b313-a2669297d12c"
      unitRef="usd">14186450</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i26b82d22c1614421940c80f2c9095c84_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfMS01LTEtMS0zODU5Mg_f42250b6-b773-4c40-b3ef-9a901b29b0d9"
      unitRef="usd">879413385</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i025bb2276e124c10a56c8c2656f81cb0_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfMS03LTEtMS0zODU5Mg_867eee49-de12-4165-bc0c-848a935b0871"
      unitRef="usd">1042461388</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ice46a7c8f6ed4048be1b043c22ef3ac4_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfMS05LTEtMS0zODU5Mg_1742a804-6aaa-4e0c-8ccd-60a928e575b4"
      unitRef="usd">1927244</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfMS0xMS0xLTEtMzg1OTI_54c44b9f-a421-4530-bcd1-c6cb72561ead"
      unitRef="usd">1937988467</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="ia626c1ee0d0b4b8384f7182be587ca70_D20220101-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfMi0xLTEtMS0zODU5Mg_717a10a9-2457-40d4-ad29-608d23e789c5"
      unitRef="shares">969182</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="ia626c1ee0d0b4b8384f7182be587ca70_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfMi0zLTEtMS0zODU5Mg_93c984f4-76db-4cec-9a21-f8927e993032"
      unitRef="usd">58151</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i6ce5ef126cba448ebdb1b1efdb599bcf_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfMi01LTEtMS0zODU5Mg_979e8c03-312e-414b-8a2e-24e29b349b4f"
      unitRef="usd">8937016</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfMi0xMS0xLTEtMzg1OTI_b7204174-d5fb-43cb-8f95-794d84e6391a"
      unitRef="usd">8995167</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <gntx:StockIssuedDuringPeriodSharesEquityInvestmentPurchase
      contextRef="ia626c1ee0d0b4b8384f7182be587ca70_D20220101-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfNC0xLTEtMS00MjkzNA_649f9eb6-d199-422d-a599-4e58711e214f"
      unitRef="shares">162433</gntx:StockIssuedDuringPeriodSharesEquityInvestmentPurchase>
    <gntx:StockIssuedDuringPeriodValueEquityInvestmentPurchase
      contextRef="ia626c1ee0d0b4b8384f7182be587ca70_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfNC0zLTEtMS00MjkzNA_7b710b3a-c784-4bc3-a4e7-4c5b8b8c7e1e"
      unitRef="usd">9746</gntx:StockIssuedDuringPeriodValueEquityInvestmentPurchase>
    <gntx:StockIssuedDuringPeriodValueEquityInvestmentPurchase
      contextRef="i6ce5ef126cba448ebdb1b1efdb599bcf_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfNC01LTEtMS00MjkzNA_432d5ea2-a325-4b18-8bc3-74952fa164cd"
      unitRef="usd">4990266</gntx:StockIssuedDuringPeriodValueEquityInvestmentPurchase>
    <gntx:StockIssuedDuringPeriodValueEquityInvestmentPurchase
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfNC0xMS0xLTEtNDI5MzQ_b316841b-031b-402e-8b14-48389436ef1e"
      unitRef="usd">5000012</gntx:StockIssuedDuringPeriodValueEquityInvestmentPurchase>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="ia626c1ee0d0b4b8384f7182be587ca70_D20220101-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfNC0xLTEtMS0zODU5Mg_105cca1f-ac34-4aa7-ac1f-e5a042bc5dc3"
      unitRef="shares">2440190</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="ia626c1ee0d0b4b8384f7182be587ca70_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfNC0zLTEtMS0zODU5Mg_519ccb63-8b98-447c-98e7-5e4fb8c94b77"
      unitRef="usd">146411</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i6ce5ef126cba448ebdb1b1efdb599bcf_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfNC01LTEtMS0zODU5Mg_84642ae8-8c76-4a29-9412-a6c557674dea"
      unitRef="usd">8125830</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="ie744acc36b404855b85e9cae5aab4966_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfNC03LTEtMS0zODU5Mg_4784b98c-4b1d-4825-83b4-6c009507307d"
      unitRef="usd">62979781</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfNC0xMS0xLTEtMzg1OTI_4f9c58bf-eab5-444b-a02e-ff8219a1bf4b"
      unitRef="usd">71252022</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i6ce5ef126cba448ebdb1b1efdb599bcf_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfNS01LTEtMS0zODU5Mg_a08cdf92-9960-4d24-a404-e9911a896e6e"
      unitRef="usd">15361567</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfNS0xMS0xLTEtMzg1OTI_528466b1-2adb-4c50-8a4a-09c01825ff4f"
      unitRef="usd">15361567</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfNi0wLTEtMS0zODU5Mi90ZXh0cmVnaW9uOjVjOGQ5M2E3NTY4ODRlNzNiZmZiNjUwNWQ1NGIzMmM3XzI0_7899df43-72a8-49f2-9af7-03535349e1a3"
      unitRef="usdPerShare">0.24</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:DividendsCommonStockCash
      contextRef="ie744acc36b404855b85e9cae5aab4966_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfNi03LTEtMS0zODU5Mg_9905642d-3dc3-4faa-803e-66275b0bedb1"
      unitRef="usd">56568616</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfNi0xMS0xLTEtMzg1OTI_4f05cb31-3b79-4991-bac5-80cc37d526dc"
      unitRef="usd">56568616</us-gaap:DividendsCommonStockCash>
    <us-gaap:NetIncomeLoss
      contextRef="ie744acc36b404855b85e9cae5aab4966_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfNy03LTEtMS0zODU5Mg_16f4d11d-d592-42c4-afaa-cef040776401"
      unitRef="usd">159933028</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfNy0xMS0xLTEtMzg1OTI_86b64925-fe08-4f96-8780-7cbf0a098278"
      unitRef="usd">159933028</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="ia70076aafaa4481c864dfb38916b2f9b_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfOC05LTEtMS0zODU5Mg_95ec7ca6-d5ad-402d-b992-b42b18447e16"
      unitRef="usd">-12883123</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfOC0xMS0xLTEtMzg1OTI_ae0856df-74c2-4515-ba88-ab6797b73884"
      unitRef="usd">-12883123</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i5ce2485f78d54008a0501ddc98ff737d_I20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfOS0xLTEtMS0zODU5Mg_a6d156f4-0f49-4c74-871a-fee05c18be2c"
      unitRef="shares">235132265</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i5ce2485f78d54008a0501ddc98ff737d_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfOS0zLTEtMS0zODU5Mg_4a9fe6c9-8b6d-4801-8dde-ebff05651870"
      unitRef="usd">14107936</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ie8c4a8193c1a4716b3703111509632e8_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfOS01LTEtMS0zODU5Mg_65af6298-2213-436e-b007-aba69b109bd6"
      unitRef="usd">900576404</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ib27316734acf4c249296e0fa3e271912_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfOS03LTEtMS0zODU5Mg_9d130983-fb19-4a53-b42c-e35e0abf0049"
      unitRef="usd">1082846019</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ia528c73440e347a49538e4c275f550b6_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfOS05LTEtMS0zODU5Mg_774d8a1f-6f16-49bb-82af-81b3707e1224"
      unitRef="usd">-10955879</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfOS0xMS0xLTEtMzg1OTI_a003ac7d-64cd-4d89-b664-94ee4bbb3c40"
      unitRef="usd">1986574480</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i0e8766ed3c604533ad8d11feef043265_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfMTEtMS0xLTEtMzg1OTI_4f840f15-f626-4214-af0c-56e5663f1058"
      unitRef="shares">243692869</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i0e8766ed3c604533ad8d11feef043265_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfMTEtMy0xLTEtMzg1OTI_bbfa6dea-78b9-47bb-b47b-c60dda7aa159"
      unitRef="usd">14621572</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="if82955de6b7e47ad8a24744ff63081a6_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfMTEtNS0xLTEtMzg1OTI_5cf29796-66f8-400b-b32e-632cd0cc3cf9"
      unitRef="usd">852771508</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="id28d33ce22df4923adc1798216e04194_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfMTEtNy0xLTEtMzg1OTI_25138690-5fe4-42d5-bd04-d684b3d11179"
      unitRef="usd">1089698996</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ifeb8159c26cd4948bd0d7d10dbb19d67_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfMTEtOS0xLTEtMzg1OTI_d33d1a29-186f-4a42-b5bf-4d3e3b0e6e11"
      unitRef="usd">6851052</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i5e8ca86642e54e2e940037f480aee623_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfMTEtMTEtMS0xLTM4NTky_af2f100c-dab7-4bdb-9296-f69b87abc41e"
      unitRef="usd">1963943128</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="i4716d167fc2142a5be8d2b36ea2c84ba_D20210101-20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfMTItMS0xLTEtMzg1OTI_5337abcc-9bc8-4275-b2c7-efc990dff7a8"
      unitRef="shares">1439916</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i4716d167fc2142a5be8d2b36ea2c84ba_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfMTItMy0xLTEtMzg1OTI_b3c138a2-331b-4ad7-9c06-79efed3ccff2"
      unitRef="usd">86395</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="id608205ff0f64727af7d6f26c31d590f_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfMTItNS0xLTEtMzg1OTI_96c849f1-c353-42d5-95d7-6c6c57d61afc"
      unitRef="usd">13570489</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfMTItMTEtMS0xLTM4NTky_c09d1324-f88a-4af5-b155-287d6253c2cc"
      unitRef="usd">13656884</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="i4716d167fc2142a5be8d2b36ea2c84ba_D20210101-20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfMTQtMS0xLTEtMzg1OTI_77032768-b44b-483f-a94a-33daef62ad32"
      unitRef="shares">6166196</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i4716d167fc2142a5be8d2b36ea2c84ba_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfMTQtMy0xLTEtMzg1OTI_d7a46cbf-3275-40b7-a67a-a4b503783c84"
      unitRef="usd">369972</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="id608205ff0f64727af7d6f26c31d590f_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfMTQtNS0xLTEtMzg1OTI_694a6de9-341d-4fec-87ee-02e2f353065f"
      unitRef="usd">19285763</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i7eeb0824787c47018fce22254a27bb2c_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfMTQtNy0xLTEtMzg1OTI_22c24a01-12f6-41b0-9e29-d9c2ec29b2b0"
      unitRef="usd">193958107</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfMTQtMTEtMS0xLTM4NTky_e2c9210c-3be2-42da-93b2-4f4c1837a5f8"
      unitRef="usd">213613842</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="id608205ff0f64727af7d6f26c31d590f_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfMTUtNS0xLTEtMzg1OTI_7686cca4-a2c1-45c2-a2c4-f1490118915c"
      unitRef="usd">12622158</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfMTUtMTEtMS0xLTM4NTky_828e6e38-3eb2-498b-b0e2-95ca4759f604"
      unitRef="usd">12622158</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfMTYtMC0xLTEtMzg1OTIvdGV4dHJlZ2lvbjo4Mjc2YTc3MzA0NzQ0Y2FiODk3MTQ4ZjI1ZGU1YmQzOF8yNA_d7b4a089-db77-4d1f-9a9a-fb9bd2ac6f22"
      unitRef="usdPerShare">0.24</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:DividendsCommonStockCash
      contextRef="i7eeb0824787c47018fce22254a27bb2c_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfMTYtNy0xLTEtMzg1OTI_21f1b6d4-f98e-4619-9cd1-3f5f30c5ab01"
      unitRef="usd">57660613</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfMTYtMTEtMS0xLTM4NTky_6dc9564e-a75d-4dea-8b78-b8334e9c2b82"
      unitRef="usd">57660613</us-gaap:DividendsCommonStockCash>
    <us-gaap:NetIncomeLoss
      contextRef="i7eeb0824787c47018fce22254a27bb2c_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfMTctNy0xLTEtMzg1OTI_b155b287-4353-475d-9175-e5ac36b0d27a"
      unitRef="usd">199957288</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfMTctMTEtMS0xLTM4NTky_19c42f1a-6139-4a57-a407-f33be685d4e2"
      unitRef="usd">199957288</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="ia2fd80770a2f422288c1d3d0e702a5f3_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfMTgtOS0xLTEtMzg1OTI_7e76638b-9417-4aa9-8c90-12b5470ab8c6"
      unitRef="usd">-2586014</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfMTgtMTEtMS0xLTM4NTky_fd5fe27c-53d2-46b7-9966-5c4919c79bda"
      unitRef="usd">-2586014</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i4620041f6e76469ba29d66bec1c9fad4_I20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfMTktMS0xLTEtMzg1OTI_5dc4db0c-f22c-4954-94c3-df8172fbc3ce"
      unitRef="shares">238966589</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i4620041f6e76469ba29d66bec1c9fad4_I20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfMTktMy0xLTEtMzg1OTI_cdefbfc3-8302-469d-97c3-9693f52f989b"
      unitRef="usd">14337995</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="if58e504178f1440b833bb8c5a4e2b064_I20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfMTktNS0xLTEtMzg1OTI_94fce73b-5fa4-4f8b-9e0f-298776eca037"
      unitRef="usd">859678392</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i099eea1162604661a60c3ac4491ac089_I20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfMTktNy0xLTEtMzg1OTI_b1f23286-3e11-40ed-9a7d-7420db204fb8"
      unitRef="usd">1038037564</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i57528b72030b40ad81e353277154d3ec_I20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfMTktOS0xLTEtMzg1OTI_edaa4f77-44eb-4779-8b42-07b9cbcb6e71"
      unitRef="usd">4265038</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i3175b4f693074da49c20fc845f3eb98c_I20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8yNS9mcmFnOmZjYTRmY2U5MTYzNzQ2MDFhZjg3YzM1MzJlZTUxZjU1L3RhYmxlOjdlMGI1NmUxZGIwZTRiNWY5NGRiMjg4ZjIxNDA5ZjJjL3RhYmxlcmFuZ2U6N2UwYjU2ZTFkYjBlNGI1Zjk0ZGIyODhmMjE0MDlmMmNfMTktMTEtMS0xLTM4NTky_27e88d18-2a60-41bd-94e8-57e24d6ebc5b"
      unitRef="usd">1916318989</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfMi0xLTEtMS0zODU5Mg_9a534ade-4969-4bb8-9e52-e21baf725b18"
      unitRef="usd">159933028</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfMi0zLTEtMS0zODU5Mg_09b3e1cd-cfdf-401d-a73a-8e33e533e37e"
      unitRef="usd">199957288</us-gaap:NetIncomeLoss>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfNC0xLTEtMS0zODU5Mg_62ddb302-74a9-490c-96d2-11236cd4d4bf"
      unitRef="usd">50052518</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfNC0zLTEtMS0zODU5Mg_0e9b89b4-167e-411b-9838-b679014ac401"
      unitRef="usd">51497665</us-gaap:DepreciationDepletionAndAmortization>
    <gntx:GainOnDisposalOfAssets
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfNS0xLTEtMS0zODU5Mg_415c994b-82f0-4fa0-9902-2c1f21c71838"
      unitRef="usd">45214</gntx:GainOnDisposalOfAssets>
    <gntx:GainOnDisposalOfAssets
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfNS0zLTEtMS0zODU5Mg_51d59b23-b1ed-4905-8adf-fdd2491cd2e6"
      unitRef="usd">19891</gntx:GainOnDisposalOfAssets>
    <gntx:LossOnDispositionOfAssets
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfNi0xLTEtMS0zODU5Mg_5df5c438-706a-4c88-a619-bf352ed4631c"
      unitRef="usd">11776</gntx:LossOnDispositionOfAssets>
    <gntx:LossOnDispositionOfAssets
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfNi0zLTEtMS0zODU5Mg_0c650891-ed8f-44ee-8db1-f2060a46f9aa"
      unitRef="usd">133036</gntx:LossOnDispositionOfAssets>
    <us-gaap:GainOnSaleOfInvestments
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfNy0xLTEtMS0zODU5Mg_593cea19-027b-4722-9c28-3253792406d3"
      unitRef="usd">391378</us-gaap:GainOnSaleOfInvestments>
    <us-gaap:GainOnSaleOfInvestments
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfNy0zLTEtMS0zODU5Mg_18c4f503-7671-4627-a515-5aa4eac47842"
      unitRef="usd">969971</us-gaap:GainOnSaleOfInvestments>
    <us-gaap:LossOnSaleOfInvestments
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfOC0xLTEtMS0zODU5Mg_a24b1112-ab3a-4331-beb5-910761dd2dc6"
      unitRef="usd">989196</us-gaap:LossOnSaleOfInvestments>
    <us-gaap:LossOnSaleOfInvestments
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfOC0zLTEtMS0zODU5Mg_78700d16-8723-4343-b9ac-76e65ed3722f"
      unitRef="usd">192346</us-gaap:LossOnSaleOfInvestments>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfOS0xLTEtMS0zODU5Mg_c603c569-328e-43ca-86d4-f3e5a7ca77d2"
      unitRef="usd">5044744</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfOS0zLTEtMS0zODU5Mg_66b45d09-6a8d-41c9-99aa-c0221b24f7a0"
      unitRef="usd">-3546862</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:ShareBasedCompensation
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfMTAtMS0xLTEtMzg1OTI_61f895e4-a049-4698-a4fa-dd92aff4d136"
      unitRef="usd">15361567</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfMTAtMy0xLTEtMzg1OTI_7d0a38fe-bee1-447b-8b97-5ad1811f5786"
      unitRef="usd">12622158</us-gaap:ShareBasedCompensation>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfMTMtMS0xLTEtMzg1OTI_0eb93523-c82a-456a-b1cd-b9c3640b60a1"
      unitRef="usd">24609666</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfMTMtMy0xLTEtMzg1OTI_37e93cde-f8f0-4b4c-8a28-57e56a9bd8b2"
      unitRef="usd">-50784339</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfMTQtMS0xLTEtMzg1OTI_c6a1660e-344a-4158-b070-e3af5a98695f"
      unitRef="usd">76310383</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfMTQtMy0xLTEtMzg1OTI_00d07ece-0f10-4c8f-ba2b-53546cf5e1b4"
      unitRef="usd">37608133</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfMTUtMS0xLTEtMzg1OTI_3b8bc9cf-49ad-4d11-ad6a-b3085b88e08e"
      unitRef="usd">6035375</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfMTUtMy0xLTEtMzg1OTI_0a44fe2d-db01-4355-bd4b-ec48c2214dbd"
      unitRef="usd">41394722</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfMTYtMS0xLTEtMzg1OTI_a4733330-71f5-4dfb-8de9-051cf28bffc8"
      unitRef="usd">48905968</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfMTYtMy0xLTEtMzg1OTI_e0e638ff-9c3b-45a8-adb8-bc94473bbbfe"
      unitRef="usd">16477865</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfMTctMS0xLTEtMzg1OTI_af8cdc66-a80b-45e2-8546-6a29822add2b"
      unitRef="usd">16354262</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfMTctMy0xLTEtMzg1OTI_282ab940-8864-44ed-ba33-f20e9ac0a298"
      unitRef="usd">4117051</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfMTgtMS0xLTEtMzg1OTI_a883b485-fc61-4ca3-b205-5d419f2be22c"
      unitRef="usd">189261043</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfMTgtMy0xLTEtMzg1OTI_610d4f31-3fda-40f4-bee7-d7c778aac807"
      unitRef="usd">252242169</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfMjItMS0xLTEtMzg1OTI_5b6e0fe5-6e34-412d-92fb-e8365e77c9c3"
      unitRef="usd">37429595</us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt>
    <us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfMjItMy0xLTEtMzg1OTI_7cf2ad9e-02cc-4abd-b7f2-0c3925d0d8d0"
      unitRef="usd">34250068</us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfMjMtMS0xLTEtMzg1OTI_b86468fe-ecbf-4579-96fa-03b47c523ad2"
      unitRef="usd">3000000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfMjMtMy0xLTEtMzg1OTI_a51bbc9a-50e9-435d-8940-97b280dabe25"
      unitRef="usd">16685000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities>
    <us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfMjQtMS0xLTEtMzg1OTI_76514ad4-83b5-4adf-8300-7e72a408d869"
      unitRef="usd">19506446</us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt>
    <us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfMjQtMy0xLTEtMzg1OTI_9a2fe969-e9a1-4aac-8989-9b7148526945"
      unitRef="usd">71596074</us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt>
    <us-gaap:PaymentsToAcquireEquityMethodInvestments
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfMjUtMS0xLTEtNDI3NzA_427b75ea-b2ab-40b2-8de7-8b459e83d702"
      unitRef="usd">24250000</us-gaap:PaymentsToAcquireEquityMethodInvestments>
    <us-gaap:PaymentsToAcquireEquityMethodInvestments
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfMjUtMy0xLTEtNDI3NzA_0d1652f7-3ebb-4e64-9f0d-38f6fdd9d6f4"
      unitRef="usd">0</us-gaap:PaymentsToAcquireEquityMethodInvestments>
    <us-gaap:PaymentsToAcquireProductiveAssets
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfMjUtMS0xLTEtMzg1OTI_28e9403c-2018-4827-be61-19c8e73b4686"
      unitRef="usd">57998319</us-gaap:PaymentsToAcquireProductiveAssets>
    <us-gaap:PaymentsToAcquireProductiveAssets
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfMjUtMy0xLTEtMzg1OTI_0c5954fb-0e79-40e4-86b1-6c22565cccf0"
      unitRef="usd">31352443</us-gaap:PaymentsToAcquireProductiveAssets>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfMjYtMS0xLTEtMzg1OTI_e28aaced-e7bc-406d-9b74-c6342eedc6df"
      unitRef="usd">44881</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfMjYtMy0xLTEtMzg1OTI_1c538fca-6f04-4f6b-bc90-bdee4057f39e"
      unitRef="usd">99850</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfMjctMS0xLTEtMzg1OTI_8948bd6e-ef0a-4507-ab17-1f504640bcf9"
      unitRef="usd">0</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfMjctMy0xLTEtMzg1OTI_ea5b58ba-b467-48c3-8fb6-7857ef94dcda"
      unitRef="usd">12023440</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfMjgtMS0xLTEtMzg1OTI_a04bbe97-415c-4905-9258-a0ce58b10c57"
      unitRef="usd">1937117</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfMjgtMy0xLTEtMzg1OTI_2911e96f-9e7d-4abc-8888-16d449f73fd9"
      unitRef="usd">458637</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfMjktMS0xLTEtMzg1OTI_9017cc21-9834-4728-afcd-cd5ef4911188"
      unitRef="usd">-63217406</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfMjktMy0xLTEtMzg1OTI_f81b3bd1-00c8-4ead-8ef6-c8fce05e334c"
      unitRef="usd">-64395676</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfMzUtMS0xLTEtMzg1OTI_fbca5582-9faf-4312-a952-9ecf23736792"
      unitRef="usd">8995167</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfMzUtMy0xLTEtMzg1OTI_5ec7bbdd-7efa-444d-b687-2a87a0be7bc3"
      unitRef="usd">13656884</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:PaymentsOfDividendsCommonStock
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfMzYtMS0xLTEtMzg1OTI_1706da64-6cfe-4ed1-8910-6eebe4486323"
      unitRef="usd">56725981</us-gaap:PaymentsOfDividendsCommonStock>
    <us-gaap:PaymentsOfDividendsCommonStock
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfMzYtMy0xLTEtMzg1OTI_1f3dbe71-3a38-4d35-bb23-2aa27912b93a"
      unitRef="usd">58227768</us-gaap:PaymentsOfDividendsCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfMzctMS0xLTEtMzg1OTI_99426de8-2aa7-4512-b98c-28166450325b"
      unitRef="usd">71252022</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfMzctMy0xLTEtMzg1OTI_b2d63138-be33-4103-9446-59ec6dfbffdc"
      unitRef="usd">213613842</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfMzktMS0xLTEtMzg1OTI_e0b1a9e0-0f2a-4719-81e8-431e0c4c1d38"
      unitRef="usd">-118982836</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfMzktMy0xLTEtMzg1OTI_3c9fc229-6f38-453f-a57d-41d3602c4f8d"
      unitRef="usd">-258184726</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfNDEtMS0xLTEtMzg1OTI_cf0a16af-b909-4168-9a9c-dbabe6f74fb2"
      unitRef="usd">7060801</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfNDEtMy0xLTEtMzg1OTI_d5f078c7-b2cc-4ae7-a3af-a55f4606aa4a"
      unitRef="usd">-70338233</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfNDMtMS0xLTEtMzg1OTI_47a2bb02-1a69-4d44-9cd6-70e34d9bd9dc"
      unitRef="usd">262311670</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i5e8ca86642e54e2e940037f480aee623_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfNDMtMy0xLTEtMzg1OTI_d0725ce1-1118-4121-b99c-226e95cd04a6"
      unitRef="usd">423371036</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfNDUtMS0xLTEtMzg1OTI_2817e0ee-5ab7-4da8-9e26-2ed75009bbbe"
      unitRef="usd">269372471</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i3175b4f693074da49c20fc845f3eb98c_I20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zMS9mcmFnOmIwZjkwOGFkYjBmMTQ4NzE5MDkzN2MwNGI5Y2U0OTJiL3RhYmxlOjYyZDM2YmY3ZDZmZTQ3NmU4YWMzMjQxMDIyN2VmOTEwL3RhYmxlcmFuZ2U6NjJkMzZiZjdkNmZlNDc2ZThhYzMyNDEwMjI3ZWY5MTBfNDUtMy0xLTEtMzg1OTI_91641194-4079-455a-af39-f6cbb27831de"
      unitRef="usd">353032803</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8zNy9mcmFnOmRhNzMxZjIzMWJmNjQ2MWY4NjI2ZDAyZGY2YmYzOTI2L3RleHRyZWdpb246ZGE3MzFmMjMxYmY2NDYxZjg2MjZkMDJkZjZiZjM5MjZfMTEzNg_3c70a80f-fdb0-4917-9dce-fd51f07e090c">Basis of PresentationThe unaudited condensed consolidated financial statements included herein have been prepared by the Company, pursuant to the rules and regulations of the Securities and Exchange Commission. Certain information and footnote disclosures normally included in financial statements prepared in accordance with accounting principles generally accepted in the United States have been condensed or omitted pursuant to such rules and regulations, although the Company believes that the disclosures are adequate to make the information presented not misleading. It is suggested that these unaudited condensed consolidated financial statements be read in conjunction with the financial statements and notes thereto included in the Company's 2021 annual report on Form 10-K.  In the opinion of management, the accompanying unaudited condensed consolidated financial statements contain all adjustments, consisting of only a normal and recurring nature, necessary to present fairly the financial position of the Company as of June 30, 2022, and the results of operations and cash flows for the interim periods presented.</us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock>
    <us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RleHRyZWdpb246ZmIxYTNkMzI2ZWZiNGMwMmEwMTlmZGIwMGQ3YjQ5NDJfMjQ3OA_444701a0-6fad-411c-b16e-bd62ac1705a5">Goodwill and Other Intangible Assets&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Goodwill represents the cost of an acquisition in excess of the fair values assigned to identifiable net assets acquired.  The Company recorded Goodwill of: $307.4 million as part of the HomeLink&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;&#xae; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;acquisition in 2013; $3.7&#160;million as part of the acquisition of Vaporsens, Inc. ("Vaporsens") in the second quarter of 2020; $0.2&#160;million as part of the acquisition of Air-Craftglass Production BV ("Air-Craftglass") in the third quarter of 2020; $1.0&#160;million as a part of the acquisition of Argil, Inc. ("Argil") in the fourth quarter of 2020; and $2.0 million as part of the acquisition of Guardian Optical Technologies ("Guardian") in the first quarter of 2021.  The carrying value of Goodwill as of both June 30, 2022 and December 31, 2021 was $313.9 million and $314.0 million, respectively, as set forth in the table below:&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt;padding-right:18pt;text-align:center"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt;padding-right:18pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:90.643%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:78.416%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Carrying Amount&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2021&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;313,960,209&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquisitions&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Divestitures&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Impairments&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(102,559)&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of June 30, 2022&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;313,857,650&#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="padding-left:36pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In addition to annual impairment testing, which is performed as of the first day of the fourth quarter, the Company continuously monitors for events and circumstances that could negatively impact the key assumptions in determining fair value of goodwill or other intangible assets thus resulting in the need for interim impairment testing, including long-term revenue growth projections, profitability, discount rates, recent market valuations from transactions by comparable companies, volatility in the Company's market capitalization, and general industry, market and macroeconomic conditions. The impact of COVID-19, the recent microchip shortage, supply chain constraints, and labor shortages were again considered in the most recently completed quarter, but did not indicate the need for interim impairment testing.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company also acquired In-Process Research &amp;amp; Development ("I P R &amp;amp; D") as part of the acquisitions of: Vaporsens; Air-Craftglass; Argil; and Guardian, each of which has been previously disclosed.   &lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The patents and intangible assets and related change in carrying values are set forth in the tables below: &lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of June 30, 2022:&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt"&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;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:92.982%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.038%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.151%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.409%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.522%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.380%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Other Intangible Assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Accumulated Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Assumed Useful Life&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gentex Patents&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,495,602&#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 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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(27,389,285)&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 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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,106,317&#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;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Various&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vaporsens Technology Licenses&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;351,290&#160;&lt;/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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(67,367)&lt;/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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;283,923&#160;&lt;/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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Various&lt;/span&gt;&lt;/td&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;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other Intangible 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 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;div style="padding-left:12pt;padding-right:-6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;HomeLink&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;&#xae; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trade Names and Trademarks&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,000,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;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,000,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;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Indefinite&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;div style="padding-left:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;HomeLink&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt; Technology&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;180,000,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;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(131,250,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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,750,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;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12 years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Existing Customer Platforms&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,000,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;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(37,625,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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,375,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;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10 years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exclusive Licensing Agreement&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;96,000,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;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;96,000,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;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Indefinite&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vaporsens In-Process R&amp;amp;D&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,000,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;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,000,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;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Indefinite&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Argil In-Process R&amp;amp;D&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,278,132&#160;&lt;/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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,278,132&#160;&lt;/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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Indefinite&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Air-Craftglass In-Process R&amp;amp;D&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,507,778&#160;&lt;/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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,507,778&#160;&lt;/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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Indefinite&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Guardian 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,300,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;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,300,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;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Indefinite&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Guardian In-Process R&amp;amp;D&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,800,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;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,800,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;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Indefinite&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total Other Intangible Assets&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;397,885,910&#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 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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(168,875,000)&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 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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;229,010,910&#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;/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;border-top:3pt double #000000;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;border-top:3pt double #000000;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total Patents &amp;amp; Other Intangible Assets&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;437,732,802&#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 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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(196,331,652)&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 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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;241,401,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;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="padding-left:36pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December 31, 2021:&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:92.982%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.767%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.522%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.522%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.522%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.167%"/&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;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Other Intangible Assets&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Accumulated Amortization&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Net&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Assumed Useful Life&lt;/span&gt;&lt;/div&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;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gentex Patents&lt;/span&gt;&lt;/div&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,362,187&#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 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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(26,506,155)&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 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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,856,032&#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;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Various&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vaporsens Technology Licenses&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;351,290&#160;&lt;/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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(50,107)&lt;/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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;301,183&#160;&lt;/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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Various&lt;/span&gt;&lt;/td&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;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other Intangible 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 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;div style="padding-left:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;HomeLink&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt; Trade Names and Trademarks&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,000,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;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,000,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;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Indefinite&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;div style="padding-left:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;HomeLink&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt; Technology&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;180,000,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;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(123,750,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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56,250,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;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12 years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Existing Customer Platforms&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,000,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;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(35,475,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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,525,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;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10 years&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;div style="padding-left:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exclusive Licensing Agreement&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;96,000,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;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;96,000,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;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Indefinite&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;Vaporsens In-Process R&amp;amp;D&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,000,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;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,000,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;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Indefinite&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;Argil In-Process R&amp;amp;D&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,278,132&#160;&lt;/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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,278,132&#160;&lt;/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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Indefinite&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;Air-Craftglass In-Process R&amp;amp;D&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,507,778&#160;&lt;/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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,507,778&#160;&lt;/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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Indefinite&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;Guardian 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,384,857&#160;&lt;/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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,384,857&#160;&lt;/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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Indefinite&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;Guardian In-Process R&amp;amp;D&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,243,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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,243,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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Indefinite&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total Other Intangible Assets&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;398,414,627&#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 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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(159,225,000)&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 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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;239,189,627&#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;/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;border-top:3pt double #000000;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;border-top:3pt double #000;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total Patents &amp;amp; Other Intangible Assets&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;438,128,104&#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 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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(185,781,262)&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 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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;252,346,842&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Amortization expense on patents and intangible assets was approximately $5.5 million and $11.1 million during the three and six months ended June 30, 2022, respectively, and approximately $5.6&#160;million and  $11.2 million for the same periods ended June 30, 2021, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Excluding the impact of any future acquisitions, the Company estimates amortization expense for the year ending December 31, 2022 to be approximately $22 million, for the year ending December 31, 2023 to be &lt;/span&gt;&lt;/div&gt;approximately $20 million, for the year ending December 31, 2024 to be approximately $16 million, and for each of the years ending December 31, 2025 and December 31, 2026 to be approximately $12&#160;million</us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock>
    <us-gaap:Goodwill
      contextRef="i782de47814674fc5902c1de0b8054d29_I20131231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RleHRyZWdpb246ZmIxYTNkMzI2ZWZiNGMwMmEwMTlmZGIwMGQ3YjQ5NDJfMjA1_d3db2fd0-10ba-435d-9c90-b2831ac45d83"
      unitRef="usd">307400000</us-gaap:Goodwill>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="i628e025b778545209021413b6d0cb7fa_D20200401-20200630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RleHRyZWdpb246ZmIxYTNkMzI2ZWZiNGMwMmEwMTlmZGIwMGQ3YjQ5NDJfMjU0_4a68051d-7e01-4bb5-b813-9d2b0dfefa4d"
      unitRef="usd">3700000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="i0bc734e02a85459cb6fe1fad9c667e9a_D20200701-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RleHRyZWdpb246ZmIxYTNkMzI2ZWZiNGMwMmEwMTlmZGIwMGQ3YjQ5NDJfMzQ4_79e00e80-eeb7-4a56-b316-0feedfd013b1"
      unitRef="usd">200000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="ifc12458e0b50495ab5951c0a616118f4_D20201001-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RleHRyZWdpb246ZmIxYTNkMzI2ZWZiNGMwMmEwMTlmZGIwMGQ3YjQ5NDJfNDU5_6c55dbdb-8061-49b9-b2e7-6919ffda65ca"
      unitRef="usd">1000000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="i581c1a9654e54e9780ff43710944b6a9_D20210101-20210331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RleHRyZWdpb246ZmIxYTNkMzI2ZWZiNGMwMmEwMTlmZGIwMGQ3YjQ5NDJfNTUx_de6c1626-fc73-4d7e-aa96-9c018c332bfc"
      unitRef="usd">2000000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:ScheduleOfGoodwillTextBlock
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RleHRyZWdpb246ZmIxYTNkMzI2ZWZiNGMwMmEwMTlmZGIwMGQ3YjQ5NDJfMjQ3NQ_245e088a-9115-47e3-a647-c4e5cd174cf1">The carrying value of Goodwill as of both June 30, 2022 and December 31, 2021 was $313.9 million and $314.0 million, respectively, as set forth in the table below:&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:90.643%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:78.416%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Carrying Amount&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2021&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;313,960,209&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquisitions&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Divestitures&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Impairments&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(102,559)&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of June 30, 2022&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;313,857,650&#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:ScheduleOfGoodwillTextBlock>
    <us-gaap:Goodwill
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RleHRyZWdpb246ZmIxYTNkMzI2ZWZiNGMwMmEwMTlmZGIwMGQ3YjQ5NDJfNzE0_58374812-d9e3-4dbd-8cc0-12a7a70e776b"
      unitRef="usd">313900000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RleHRyZWdpb246ZmIxYTNkMzI2ZWZiNGMwMmEwMTlmZGIwMGQ3YjQ5NDJfNzIx_6a6deb6c-2b47-420a-a108-0dea8c087d62"
      unitRef="usd">314000000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOjI1ZDFlMzE2ODc5OTQwYTBiNmRkNDIxZjkxMjMyMDM5L3RhYmxlcmFuZ2U6MjVkMWUzMTY4Nzk5NDBhMGI2ZGQ0MjFmOTEyMzIwMzlfMS0xLTEtMS0zODU5Mg_bc38a41d-8cef-45d9-b357-7e4c3e33d180"
      unitRef="usd">313960209</us-gaap:Goodwill>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOjI1ZDFlMzE2ODc5OTQwYTBiNmRkNDIxZjkxMjMyMDM5L3RhYmxlcmFuZ2U6MjVkMWUzMTY4Nzk5NDBhMGI2ZGQ0MjFmOTEyMzIwMzlfMi0xLTEtMS0zODU5Mg_c18a15cf-5a0c-4ce2-8bb5-3615ca956196"
      unitRef="usd">0</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillWrittenOffRelatedToSaleOfBusinessUnit
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOjI1ZDFlMzE2ODc5OTQwYTBiNmRkNDIxZjkxMjMyMDM5L3RhYmxlcmFuZ2U6MjVkMWUzMTY4Nzk5NDBhMGI2ZGQ0MjFmOTEyMzIwMzlfMy0xLTEtMS0zODU5Mg_8e57707a-8a67-47c3-a964-64abbd792cc0"
      unitRef="usd">0</us-gaap:GoodwillWrittenOffRelatedToSaleOfBusinessUnit>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOjI1ZDFlMzE2ODc5OTQwYTBiNmRkNDIxZjkxMjMyMDM5L3RhYmxlcmFuZ2U6MjVkMWUzMTY4Nzk5NDBhMGI2ZGQ0MjFmOTEyMzIwMzlfNC0xLTEtMS0zODU5Mg_d3ac2736-954f-4cec-80a3-df4f3c96a81d"
      unitRef="usd">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:GoodwillOtherIncreaseDecrease
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOjI1ZDFlMzE2ODc5OTQwYTBiNmRkNDIxZjkxMjMyMDM5L3RhYmxlcmFuZ2U6MjVkMWUzMTY4Nzk5NDBhMGI2ZGQ0MjFmOTEyMzIwMzlfNS0xLTEtMS0zODU5Mg_bc8960d6-d0f7-43c3-a558-8ecd22ca6ce2"
      unitRef="usd">-102559</us-gaap:GoodwillOtherIncreaseDecrease>
    <us-gaap:Goodwill
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOjI1ZDFlMzE2ODc5OTQwYTBiNmRkNDIxZjkxMjMyMDM5L3RhYmxlcmFuZ2U6MjVkMWUzMTY4Nzk5NDBhMGI2ZGQ0MjFmOTEyMzIwMzlfNi0xLTEtMS0zODU5Mg_3756f1e7-67cb-40b1-8742-f3d79db7d566"
      unitRef="usd">313857650</us-gaap:Goodwill>
    <us-gaap:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RleHRyZWdpb246ZmIxYTNkMzI2ZWZiNGMwMmEwMTlmZGIwMGQ3YjQ5NDJfMjQ3Nw_8b5d841b-e7c8-4d1a-aad0-97e5b05b8837">The patents and intangible assets and related change in carrying values are set forth in the tables below: &lt;div style="padding-left:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of June 30, 2022:&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt"&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;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:92.982%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.038%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.151%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.409%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.522%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.380%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Other Intangible Assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Accumulated Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Assumed Useful Life&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gentex Patents&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,495,602&#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 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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(27,389,285)&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 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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,106,317&#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;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Various&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vaporsens Technology Licenses&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;351,290&#160;&lt;/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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(67,367)&lt;/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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;283,923&#160;&lt;/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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Various&lt;/span&gt;&lt;/td&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;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other Intangible 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 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;div style="padding-left:12pt;padding-right:-6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;HomeLink&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;&#xae; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trade Names and Trademarks&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,000,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;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,000,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;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Indefinite&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;div style="padding-left:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;HomeLink&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt; Technology&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;180,000,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;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(131,250,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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,750,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;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12 years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Existing Customer Platforms&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,000,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;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(37,625,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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,375,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;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10 years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exclusive Licensing Agreement&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;96,000,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;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;96,000,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;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Indefinite&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vaporsens In-Process R&amp;amp;D&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,000,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;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,000,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;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Indefinite&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Argil In-Process R&amp;amp;D&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,278,132&#160;&lt;/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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,278,132&#160;&lt;/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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Indefinite&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Air-Craftglass In-Process R&amp;amp;D&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,507,778&#160;&lt;/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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,507,778&#160;&lt;/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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Indefinite&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Guardian 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,300,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;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,300,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;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Indefinite&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Guardian In-Process R&amp;amp;D&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,800,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;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,800,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;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Indefinite&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total Other Intangible Assets&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;397,885,910&#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 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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(168,875,000)&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 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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;229,010,910&#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;/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;border-top:3pt double #000000;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;border-top:3pt double #000000;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total Patents &amp;amp; Other Intangible Assets&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;437,732,802&#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 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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(196,331,652)&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 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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;241,401,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;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="padding-left:36pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December 31, 2021:&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:92.982%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.767%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.522%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.522%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.522%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.167%"/&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;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Other Intangible Assets&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Accumulated Amortization&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Net&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Assumed Useful Life&lt;/span&gt;&lt;/div&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;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gentex Patents&lt;/span&gt;&lt;/div&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,362,187&#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 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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(26,506,155)&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 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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,856,032&#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;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Various&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vaporsens Technology Licenses&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;351,290&#160;&lt;/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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(50,107)&lt;/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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;301,183&#160;&lt;/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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Various&lt;/span&gt;&lt;/td&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;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other Intangible 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 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;div style="padding-left:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;HomeLink&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt; Trade Names and Trademarks&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,000,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;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,000,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;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Indefinite&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;div style="padding-left:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;HomeLink&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt; Technology&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;180,000,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;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(123,750,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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56,250,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;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12 years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Existing Customer Platforms&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,000,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;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(35,475,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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,525,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;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10 years&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;div style="padding-left:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exclusive Licensing Agreement&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;96,000,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;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;96,000,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;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Indefinite&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;Vaporsens In-Process R&amp;amp;D&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,000,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;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,000,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;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Indefinite&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;Argil In-Process R&amp;amp;D&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,278,132&#160;&lt;/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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,278,132&#160;&lt;/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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Indefinite&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;Air-Craftglass In-Process R&amp;amp;D&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,507,778&#160;&lt;/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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,507,778&#160;&lt;/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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Indefinite&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;Guardian 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,384,857&#160;&lt;/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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,384,857&#160;&lt;/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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Indefinite&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;Guardian In-Process R&amp;amp;D&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,243,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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,243,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:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Indefinite&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total Other Intangible Assets&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;398,414,627&#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 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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(159,225,000)&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 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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;239,189,627&#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;/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;border-top:3pt double #000000;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;border-top:3pt double #000;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total Patents &amp;amp; Other Intangible Assets&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;438,128,104&#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 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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(185,781,262)&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 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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;252,346,842&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i12329575bfbf457f81862e12c6aa53f1_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOmY3ZjRkMGIzZGI3NDQ2NjQ5ODg0N2EyMjdiNmJlMGYyL3RhYmxlcmFuZ2U6ZjdmNGQwYjNkYjc0NDY2NDk4ODQ3YTIyN2I2YmUwZjJfMS0xLTEtMS0zODU5Mg_d9335d45-6d54-44fb-9432-bb10eb02f20f"
      unitRef="usd">39495602</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i12329575bfbf457f81862e12c6aa53f1_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOmY3ZjRkMGIzZGI3NDQ2NjQ5ODg0N2EyMjdiNmJlMGYyL3RhYmxlcmFuZ2U6ZjdmNGQwYjNkYjc0NDY2NDk4ODQ3YTIyN2I2YmUwZjJfMS0yLTEtMS0zODU5Mg_a4ebda1c-8139-4178-a8c0-2dd6a5ed7ca4"
      unitRef="usd">27389285</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i12329575bfbf457f81862e12c6aa53f1_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOmY3ZjRkMGIzZGI3NDQ2NjQ5ODg0N2EyMjdiNmJlMGYyL3RhYmxlcmFuZ2U6ZjdmNGQwYjNkYjc0NDY2NDk4ODQ3YTIyN2I2YmUwZjJfMS0zLTEtMS0zODU5Mg_25a37c2f-570a-4186-b1e6-22c48356680f"
      unitRef="usd">12106317</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i1ce74ecb9c8d47338ad5473b35b64fd9_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOmY3ZjRkMGIzZGI3NDQ2NjQ5ODg0N2EyMjdiNmJlMGYyL3RhYmxlcmFuZ2U6ZjdmNGQwYjNkYjc0NDY2NDk4ODQ3YTIyN2I2YmUwZjJfMi0xLTEtMS0zODU5Mg_ba6be7ba-d086-443a-8e0c-0a0c13c001c6"
      unitRef="usd">351290</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i1ce74ecb9c8d47338ad5473b35b64fd9_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOmY3ZjRkMGIzZGI3NDQ2NjQ5ODg0N2EyMjdiNmJlMGYyL3RhYmxlcmFuZ2U6ZjdmNGQwYjNkYjc0NDY2NDk4ODQ3YTIyN2I2YmUwZjJfMi0yLTEtMS0zODU5Mg_e064fde5-c78b-464a-94ff-7f22f872ba39"
      unitRef="usd">67367</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i1ce74ecb9c8d47338ad5473b35b64fd9_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOmY3ZjRkMGIzZGI3NDQ2NjQ5ODg0N2EyMjdiNmJlMGYyL3RhYmxlcmFuZ2U6ZjdmNGQwYjNkYjc0NDY2NDk4ODQ3YTIyN2I2YmUwZjJfMi0zLTEtMS0zODU5Mg_f7704e83-ddb2-4e3b-aedd-3d7f5d30d2c4"
      unitRef="usd">283923</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="if01b695d9f0842ecadbbc244963c1090_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOmY3ZjRkMGIzZGI3NDQ2NjQ5ODg0N2EyMjdiNmJlMGYyL3RhYmxlcmFuZ2U6ZjdmNGQwYjNkYjc0NDY2NDk4ODQ3YTIyN2I2YmUwZjJfNS0xLTEtMS0zODU5Mg_4d9feadd-4f6f-478a-bab3-17ea4c495958"
      unitRef="usd">52000000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="if01b695d9f0842ecadbbc244963c1090_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOmY3ZjRkMGIzZGI3NDQ2NjQ5ODg0N2EyMjdiNmJlMGYyL3RhYmxlcmFuZ2U6ZjdmNGQwYjNkYjc0NDY2NDk4ODQ3YTIyN2I2YmUwZjJfNS0zLTEtMS0zODU5Mg_b45bb439-bcef-4981-b27f-90c5ea5f8c3c"
      unitRef="usd">52000000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ie3c3eed195fd45808ba70563a3def88e_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOmY3ZjRkMGIzZGI3NDQ2NjQ5ODg0N2EyMjdiNmJlMGYyL3RhYmxlcmFuZ2U6ZjdmNGQwYjNkYjc0NDY2NDk4ODQ3YTIyN2I2YmUwZjJfNi0xLTEtMS0zODU5Mg_0915db4e-dcf3-4461-ad41-e7ac62948932"
      unitRef="usd">180000000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ie3c3eed195fd45808ba70563a3def88e_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOmY3ZjRkMGIzZGI3NDQ2NjQ5ODg0N2EyMjdiNmJlMGYyL3RhYmxlcmFuZ2U6ZjdmNGQwYjNkYjc0NDY2NDk4ODQ3YTIyN2I2YmUwZjJfNi0yLTEtMS0zODU5Mg_bce6c43b-02b7-4545-a4b6-12d048b04142"
      unitRef="usd">131250000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ie3c3eed195fd45808ba70563a3def88e_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOmY3ZjRkMGIzZGI3NDQ2NjQ5ODg0N2EyMjdiNmJlMGYyL3RhYmxlcmFuZ2U6ZjdmNGQwYjNkYjc0NDY2NDk4ODQ3YTIyN2I2YmUwZjJfNi0zLTEtMS0zODU5Mg_e6b37db1-492e-404b-ab46-42fb37ed4d2a"
      unitRef="usd">48750000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i93bd0e8e318b49c7a96329d570ee2741_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOmY3ZjRkMGIzZGI3NDQ2NjQ5ODg0N2EyMjdiNmJlMGYyL3RhYmxlcmFuZ2U6ZjdmNGQwYjNkYjc0NDY2NDk4ODQ3YTIyN2I2YmUwZjJfNi00LTEtMS0zODU5Mg_452fd6f3-6d2f-4473-aa2b-6a843502f46d">P12Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i7d859a501c8d4c1ba42ed680ec8994db_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOmY3ZjRkMGIzZGI3NDQ2NjQ5ODg0N2EyMjdiNmJlMGYyL3RhYmxlcmFuZ2U6ZjdmNGQwYjNkYjc0NDY2NDk4ODQ3YTIyN2I2YmUwZjJfNy0xLTEtMS0zODU5Mg_d408c71c-a27b-49fa-8114-b6cc258c8d7b"
      unitRef="usd">43000000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i7d859a501c8d4c1ba42ed680ec8994db_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOmY3ZjRkMGIzZGI3NDQ2NjQ5ODg0N2EyMjdiNmJlMGYyL3RhYmxlcmFuZ2U6ZjdmNGQwYjNkYjc0NDY2NDk4ODQ3YTIyN2I2YmUwZjJfNy0yLTEtMS0zODU5Mg_f9d87f0a-0089-497c-b1a1-8d8c2db67f73"
      unitRef="usd">37625000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i7d859a501c8d4c1ba42ed680ec8994db_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOmY3ZjRkMGIzZGI3NDQ2NjQ5ODg0N2EyMjdiNmJlMGYyL3RhYmxlcmFuZ2U6ZjdmNGQwYjNkYjc0NDY2NDk4ODQ3YTIyN2I2YmUwZjJfNy0zLTEtMS0zODU5Mg_7b7a6a4c-b8a8-49ae-ba42-98255878569c"
      unitRef="usd">5375000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i4f01b2e34d084743a3a3830a39a6dc73_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOmY3ZjRkMGIzZGI3NDQ2NjQ5ODg0N2EyMjdiNmJlMGYyL3RhYmxlcmFuZ2U6ZjdmNGQwYjNkYjc0NDY2NDk4ODQ3YTIyN2I2YmUwZjJfNy00LTEtMS0zODU5Mg_11ed34a9-b732-4a35-9744-b8bf14259c35">P10Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="ie2935dee298840149074c717c5105328_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOmY3ZjRkMGIzZGI3NDQ2NjQ5ODg0N2EyMjdiNmJlMGYyL3RhYmxlcmFuZ2U6ZjdmNGQwYjNkYjc0NDY2NDk4ODQ3YTIyN2I2YmUwZjJfOC0xLTEtMS0zODU5Mg_893c7693-ea86-4317-a154-6c99b1142144"
      unitRef="usd">96000000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="ie2935dee298840149074c717c5105328_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOmY3ZjRkMGIzZGI3NDQ2NjQ5ODg0N2EyMjdiNmJlMGYyL3RhYmxlcmFuZ2U6ZjdmNGQwYjNkYjc0NDY2NDk4ODQ3YTIyN2I2YmUwZjJfOC0zLTEtMS0zODU5Mg_9eb5b751-664e-49c0-9580-eaf64d9ae5e7"
      unitRef="usd">96000000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="i3fd000b2152048e7b92ca63d22367b82_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOmY3ZjRkMGIzZGI3NDQ2NjQ5ODg0N2EyMjdiNmJlMGYyL3RhYmxlcmFuZ2U6ZjdmNGQwYjNkYjc0NDY2NDk4ODQ3YTIyN2I2YmUwZjJfOS0xLTEtMS0zODU5Mg_8b2318f4-7d5d-4dea-bc80-9213976a5e17"
      unitRef="usd">11000000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="i3fd000b2152048e7b92ca63d22367b82_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOmY3ZjRkMGIzZGI3NDQ2NjQ5ODg0N2EyMjdiNmJlMGYyL3RhYmxlcmFuZ2U6ZjdmNGQwYjNkYjc0NDY2NDk4ODQ3YTIyN2I2YmUwZjJfOS0zLTEtMS0zODU5Mg_5c3453f8-da4d-463c-8c5b-142df12f7adf"
      unitRef="usd">11000000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="i9c5e5a03ac6543f9b381a62101bea2a3_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOmY3ZjRkMGIzZGI3NDQ2NjQ5ODg0N2EyMjdiNmJlMGYyL3RhYmxlcmFuZ2U6ZjdmNGQwYjNkYjc0NDY2NDk4ODQ3YTIyN2I2YmUwZjJfMTAtMS0xLTEtMzg1OTI_e32cf15c-0227-4a7b-a9e7-20e31974d295"
      unitRef="usd">6278132</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="i9c5e5a03ac6543f9b381a62101bea2a3_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOmY3ZjRkMGIzZGI3NDQ2NjQ5ODg0N2EyMjdiNmJlMGYyL3RhYmxlcmFuZ2U6ZjdmNGQwYjNkYjc0NDY2NDk4ODQ3YTIyN2I2YmUwZjJfMTAtMy0xLTEtMzg1OTI_0c7df4df-391a-4cdd-a1ce-4e354d38e964"
      unitRef="usd">6278132</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="i8c7f64cfa694402ca8ec4f9b68b09f71_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOmY3ZjRkMGIzZGI3NDQ2NjQ5ODg0N2EyMjdiNmJlMGYyL3RhYmxlcmFuZ2U6ZjdmNGQwYjNkYjc0NDY2NDk4ODQ3YTIyN2I2YmUwZjJfMTEtMS0xLTEtMzg1OTI_c6e27c25-bd2e-4555-943b-d5aa83b3b8ea"
      unitRef="usd">1507778</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="i8c7f64cfa694402ca8ec4f9b68b09f71_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOmY3ZjRkMGIzZGI3NDQ2NjQ5ODg0N2EyMjdiNmJlMGYyL3RhYmxlcmFuZ2U6ZjdmNGQwYjNkYjc0NDY2NDk4ODQ3YTIyN2I2YmUwZjJfMTEtMy0xLTEtMzg1OTI_6eed5737-3e48-4f4f-bf55-0ff19bece764"
      unitRef="usd">1507778</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="id42977c29beb454da63bf38214642516_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOmY3ZjRkMGIzZGI3NDQ2NjQ5ODg0N2EyMjdiNmJlMGYyL3RhYmxlcmFuZ2U6ZjdmNGQwYjNkYjc0NDY2NDk4ODQ3YTIyN2I2YmUwZjJfMTItMS0xLTEtMzg1OTI_ccbfe1a2-aad4-422f-87fc-b1b785bb210e"
      unitRef="usd">1300000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="id42977c29beb454da63bf38214642516_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOmY3ZjRkMGIzZGI3NDQ2NjQ5ODg0N2EyMjdiNmJlMGYyL3RhYmxlcmFuZ2U6ZjdmNGQwYjNkYjc0NDY2NDk4ODQ3YTIyN2I2YmUwZjJfMTItMy0xLTEtMzg1OTI_92b317ab-c05e-4c7c-8505-09eb7e7901db"
      unitRef="usd">1300000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="ia088f54a323542d0a1577f6e1a481c9e_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOmY3ZjRkMGIzZGI3NDQ2NjQ5ODg0N2EyMjdiNmJlMGYyL3RhYmxlcmFuZ2U6ZjdmNGQwYjNkYjc0NDY2NDk4ODQ3YTIyN2I2YmUwZjJfMTMtMS0xLTEtMzg1OTI_4580ca36-600a-451f-9b75-b49360ffd3b0"
      unitRef="usd">6800000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="ia088f54a323542d0a1577f6e1a481c9e_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOmY3ZjRkMGIzZGI3NDQ2NjQ5ODg0N2EyMjdiNmJlMGYyL3RhYmxlcmFuZ2U6ZjdmNGQwYjNkYjc0NDY2NDk4ODQ3YTIyN2I2YmUwZjJfMTMtMy0xLTEtMzg1OTI_32fe5ee1-9081-4e3c-ab8a-5d4010a3b011"
      unitRef="usd">6800000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IntangibleAssetsGrossExcludingGoodwill
      contextRef="ic40eae0896d64417b744a4da0104d32f_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOmY3ZjRkMGIzZGI3NDQ2NjQ5ODg0N2EyMjdiNmJlMGYyL3RhYmxlcmFuZ2U6ZjdmNGQwYjNkYjc0NDY2NDk4ODQ3YTIyN2I2YmUwZjJfMTQtMS0xLTEtMzg1OTI_8261328a-11a6-4c8a-947c-3a919b9aaf82"
      unitRef="usd">397885910</us-gaap:IntangibleAssetsGrossExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ic40eae0896d64417b744a4da0104d32f_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOmY3ZjRkMGIzZGI3NDQ2NjQ5ODg0N2EyMjdiNmJlMGYyL3RhYmxlcmFuZ2U6ZjdmNGQwYjNkYjc0NDY2NDk4ODQ3YTIyN2I2YmUwZjJfMTQtMi0xLTEtMzg1OTI_645670e4-ebbf-4ec2-8fa9-7e6661f6ee0c"
      unitRef="usd">168875000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="ic40eae0896d64417b744a4da0104d32f_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOmY3ZjRkMGIzZGI3NDQ2NjQ5ODg0N2EyMjdiNmJlMGYyL3RhYmxlcmFuZ2U6ZjdmNGQwYjNkYjc0NDY2NDk4ODQ3YTIyN2I2YmUwZjJfMTQtMy0xLTEtMzg1OTI_8abb5f20-a2ad-4e02-a608-a70e829dcfb1"
      unitRef="usd">229010910</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <gntx:IntangiblePatentsAndAssetsGrossExcludingGoodwill
      contextRef="i5810f04a070b4d3f8a2b793dcd6c2c99_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOmY3ZjRkMGIzZGI3NDQ2NjQ5ODg0N2EyMjdiNmJlMGYyL3RhYmxlcmFuZ2U6ZjdmNGQwYjNkYjc0NDY2NDk4ODQ3YTIyN2I2YmUwZjJfMTYtMS0xLTEtMzg1OTI_041bdae6-4347-4331-93ce-29a134a117fb"
      unitRef="usd">437732802</gntx:IntangiblePatentsAndAssetsGrossExcludingGoodwill>
    <gntx:FiniteLivedIntangiblePatentsAndAssetsAccumulatedAmortization
      contextRef="i5810f04a070b4d3f8a2b793dcd6c2c99_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOmY3ZjRkMGIzZGI3NDQ2NjQ5ODg0N2EyMjdiNmJlMGYyL3RhYmxlcmFuZ2U6ZjdmNGQwYjNkYjc0NDY2NDk4ODQ3YTIyN2I2YmUwZjJfMTYtMi0xLTEtMzg1OTI_eec2156b-6059-4c10-bff8-5fbac0698091"
      unitRef="usd">196331652</gntx:FiniteLivedIntangiblePatentsAndAssetsAccumulatedAmortization>
    <gntx:IntangiblePatentsAndAssetsNetExcludingGoodwill
      contextRef="i5810f04a070b4d3f8a2b793dcd6c2c99_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOmY3ZjRkMGIzZGI3NDQ2NjQ5ODg0N2EyMjdiNmJlMGYyL3RhYmxlcmFuZ2U6ZjdmNGQwYjNkYjc0NDY2NDk4ODQ3YTIyN2I2YmUwZjJfMTYtMy0xLTEtMzg1OTI_2372bdda-7f1c-4d9b-954c-4ae7e7600b5b"
      unitRef="usd">241401150</gntx:IntangiblePatentsAndAssetsNetExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i37cc2c3aec9f48d38fb33495bb205732_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOjhkYzEzZDJkZTc5MjQyYzM4MWI4NDczNGY0YTE4ODFlL3RhYmxlcmFuZ2U6OGRjMTNkMmRlNzkyNDJjMzgxYjg0NzM0ZjRhMTg4MWVfMS0xLTEtMS0zODU5Mg_583bc0a7-b2eb-410f-b635-507a5249c873"
      unitRef="usd">39362187</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i37cc2c3aec9f48d38fb33495bb205732_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOjhkYzEzZDJkZTc5MjQyYzM4MWI4NDczNGY0YTE4ODFlL3RhYmxlcmFuZ2U6OGRjMTNkMmRlNzkyNDJjMzgxYjg0NzM0ZjRhMTg4MWVfMS0yLTEtMS0zODU5Mg_1cb1cfd4-6208-4df2-9f6f-f60a94879ccf"
      unitRef="usd">26506155</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i37cc2c3aec9f48d38fb33495bb205732_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOjhkYzEzZDJkZTc5MjQyYzM4MWI4NDczNGY0YTE4ODFlL3RhYmxlcmFuZ2U6OGRjMTNkMmRlNzkyNDJjMzgxYjg0NzM0ZjRhMTg4MWVfMS0zLTEtMS0zODU5Mg_be2137e9-0ecb-4998-9f3a-a37b3398c20a"
      unitRef="usd">12856032</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="iabd74887e1704ab1959fff3416eb84a5_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOjhkYzEzZDJkZTc5MjQyYzM4MWI4NDczNGY0YTE4ODFlL3RhYmxlcmFuZ2U6OGRjMTNkMmRlNzkyNDJjMzgxYjg0NzM0ZjRhMTg4MWVfMi0xLTEtMS0zODU5Mg_9ca71a6c-1dac-4c96-93db-a9dfb7704fec"
      unitRef="usd">351290</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="iabd74887e1704ab1959fff3416eb84a5_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOjhkYzEzZDJkZTc5MjQyYzM4MWI4NDczNGY0YTE4ODFlL3RhYmxlcmFuZ2U6OGRjMTNkMmRlNzkyNDJjMzgxYjg0NzM0ZjRhMTg4MWVfMi0yLTEtMS0zODU5Mg_742ddb10-1178-4422-9e35-7f17051bd001"
      unitRef="usd">50107</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="iabd74887e1704ab1959fff3416eb84a5_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOjhkYzEzZDJkZTc5MjQyYzM4MWI4NDczNGY0YTE4ODFlL3RhYmxlcmFuZ2U6OGRjMTNkMmRlNzkyNDJjMzgxYjg0NzM0ZjRhMTg4MWVfMi0zLTEtMS0zODU5Mg_b4ea5044-9eed-430b-b8bf-1db9365ab768"
      unitRef="usd">301183</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="i0418a9effa8047a3b0ab6405b1c10388_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOjhkYzEzZDJkZTc5MjQyYzM4MWI4NDczNGY0YTE4ODFlL3RhYmxlcmFuZ2U6OGRjMTNkMmRlNzkyNDJjMzgxYjg0NzM0ZjRhMTg4MWVfNS0xLTEtMS0zODU5Mg_7ffb680a-b394-4ec6-b08d-1f2ed0b0349c"
      unitRef="usd">52000000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="i0418a9effa8047a3b0ab6405b1c10388_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOjhkYzEzZDJkZTc5MjQyYzM4MWI4NDczNGY0YTE4ODFlL3RhYmxlcmFuZ2U6OGRjMTNkMmRlNzkyNDJjMzgxYjg0NzM0ZjRhMTg4MWVfNS0zLTEtMS0zODU5Mg_b041ac20-9a24-4115-bcab-552d0a4dad1f"
      unitRef="usd">52000000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i94d5aeb132004e69acab0dc1c8906918_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOjhkYzEzZDJkZTc5MjQyYzM4MWI4NDczNGY0YTE4ODFlL3RhYmxlcmFuZ2U6OGRjMTNkMmRlNzkyNDJjMzgxYjg0NzM0ZjRhMTg4MWVfNi0xLTEtMS0zODU5Mg_7b65df53-5b7d-4dd1-9f85-fd68bb7717a6"
      unitRef="usd">180000000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i94d5aeb132004e69acab0dc1c8906918_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOjhkYzEzZDJkZTc5MjQyYzM4MWI4NDczNGY0YTE4ODFlL3RhYmxlcmFuZ2U6OGRjMTNkMmRlNzkyNDJjMzgxYjg0NzM0ZjRhMTg4MWVfNi0yLTEtMS0zODU5Mg_b3ff29d1-b378-4e0e-802d-417642319ec4"
      unitRef="usd">123750000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i94d5aeb132004e69acab0dc1c8906918_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOjhkYzEzZDJkZTc5MjQyYzM4MWI4NDczNGY0YTE4ODFlL3RhYmxlcmFuZ2U6OGRjMTNkMmRlNzkyNDJjMzgxYjg0NzM0ZjRhMTg4MWVfNi0zLTEtMS0zODU5Mg_67a8c033-f45a-4f2e-8c46-84227f8562ed"
      unitRef="usd">56250000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i1b471a301ccc49e78ab65317b8bb8395_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOjhkYzEzZDJkZTc5MjQyYzM4MWI4NDczNGY0YTE4ODFlL3RhYmxlcmFuZ2U6OGRjMTNkMmRlNzkyNDJjMzgxYjg0NzM0ZjRhMTg4MWVfNi00LTEtMS0zODU5Mg_1d567522-6520-42a5-b9f8-b82f917b08f8">P12Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i62e3ebe91801494ead6d80e92d001ef2_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOjhkYzEzZDJkZTc5MjQyYzM4MWI4NDczNGY0YTE4ODFlL3RhYmxlcmFuZ2U6OGRjMTNkMmRlNzkyNDJjMzgxYjg0NzM0ZjRhMTg4MWVfNy0xLTEtMS0zODU5Mg_b9706ea2-c81b-425d-b028-4a3109da106e"
      unitRef="usd">43000000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i62e3ebe91801494ead6d80e92d001ef2_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOjhkYzEzZDJkZTc5MjQyYzM4MWI4NDczNGY0YTE4ODFlL3RhYmxlcmFuZ2U6OGRjMTNkMmRlNzkyNDJjMzgxYjg0NzM0ZjRhMTg4MWVfNy0yLTEtMS0zODU5Mg_62cfa8f9-951a-4456-b6df-1d1a535172b0"
      unitRef="usd">35475000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i62e3ebe91801494ead6d80e92d001ef2_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOjhkYzEzZDJkZTc5MjQyYzM4MWI4NDczNGY0YTE4ODFlL3RhYmxlcmFuZ2U6OGRjMTNkMmRlNzkyNDJjMzgxYjg0NzM0ZjRhMTg4MWVfNy0zLTEtMS0zODU5Mg_482c3333-35d9-48df-879f-f1ae4cb4b7b1"
      unitRef="usd">7525000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i88176b33269a4f7bb04a70c7a538bf7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOjhkYzEzZDJkZTc5MjQyYzM4MWI4NDczNGY0YTE4ODFlL3RhYmxlcmFuZ2U6OGRjMTNkMmRlNzkyNDJjMzgxYjg0NzM0ZjRhMTg4MWVfNy00LTEtMS0zODU5Mg_4d4f40ae-51ba-439b-a769-53ded6db4618">P10Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="i4b9fd0e81aa14f81b1aa47a4a483df5c_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOjhkYzEzZDJkZTc5MjQyYzM4MWI4NDczNGY0YTE4ODFlL3RhYmxlcmFuZ2U6OGRjMTNkMmRlNzkyNDJjMzgxYjg0NzM0ZjRhMTg4MWVfOC0xLTEtMS0zODU5Mg_08c5c42a-7ced-48b5-8bcf-2035ef051c6b"
      unitRef="usd">96000000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="i4b9fd0e81aa14f81b1aa47a4a483df5c_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOjhkYzEzZDJkZTc5MjQyYzM4MWI4NDczNGY0YTE4ODFlL3RhYmxlcmFuZ2U6OGRjMTNkMmRlNzkyNDJjMzgxYjg0NzM0ZjRhMTg4MWVfOC0zLTEtMS0zODU5Mg_0f851189-3c2f-4dbc-8986-4bd7729bb7af"
      unitRef="usd">96000000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="ie6cb486b88a0477290c1e2f532102f3c_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOjhkYzEzZDJkZTc5MjQyYzM4MWI4NDczNGY0YTE4ODFlL3RhYmxlcmFuZ2U6OGRjMTNkMmRlNzkyNDJjMzgxYjg0NzM0ZjRhMTg4MWVfOS0xLTEtMS0zODU5Mg_65d1631a-4778-4f56-8479-98b1e728b5ff"
      unitRef="usd">11000000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="ie6cb486b88a0477290c1e2f532102f3c_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOjhkYzEzZDJkZTc5MjQyYzM4MWI4NDczNGY0YTE4ODFlL3RhYmxlcmFuZ2U6OGRjMTNkMmRlNzkyNDJjMzgxYjg0NzM0ZjRhMTg4MWVfOS0zLTEtMS0zODU5Mg_d8b1de93-17ad-4403-bebc-eefc12baca52"
      unitRef="usd">11000000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="ie829c5e635134e03aa8c1a2a73885605_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOjhkYzEzZDJkZTc5MjQyYzM4MWI4NDczNGY0YTE4ODFlL3RhYmxlcmFuZ2U6OGRjMTNkMmRlNzkyNDJjMzgxYjg0NzM0ZjRhMTg4MWVfMTAtMS0xLTEtMzg1OTI_90925dd5-d4f4-416a-ab84-dfce13d27735"
      unitRef="usd">6278132</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="ie829c5e635134e03aa8c1a2a73885605_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOjhkYzEzZDJkZTc5MjQyYzM4MWI4NDczNGY0YTE4ODFlL3RhYmxlcmFuZ2U6OGRjMTNkMmRlNzkyNDJjMzgxYjg0NzM0ZjRhMTg4MWVfMTAtMy0xLTEtMzg1OTI_ad11d4ca-226f-4b61-b019-9543c90d56f7"
      unitRef="usd">6278132</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="i14889e00822444f5a7b17fcc7f16b51c_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOjhkYzEzZDJkZTc5MjQyYzM4MWI4NDczNGY0YTE4ODFlL3RhYmxlcmFuZ2U6OGRjMTNkMmRlNzkyNDJjMzgxYjg0NzM0ZjRhMTg4MWVfMTEtMS0xLTEtMzg1OTI_6f5cd2ec-947d-4a91-bc9a-9f153c08d58b"
      unitRef="usd">1507778</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="i14889e00822444f5a7b17fcc7f16b51c_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOjhkYzEzZDJkZTc5MjQyYzM4MWI4NDczNGY0YTE4ODFlL3RhYmxlcmFuZ2U6OGRjMTNkMmRlNzkyNDJjMzgxYjg0NzM0ZjRhMTg4MWVfMTEtMy0xLTEtMzg1OTI_327e5909-f5ca-4472-b7b9-052816575d24"
      unitRef="usd">1507778</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="i0da012fb121d4444958a74fdc0df68cc_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOjhkYzEzZDJkZTc5MjQyYzM4MWI4NDczNGY0YTE4ODFlL3RhYmxlcmFuZ2U6OGRjMTNkMmRlNzkyNDJjMzgxYjg0NzM0ZjRhMTg4MWVfMTItMS0xLTEtMzg1OTI_7b8f1913-ecae-4b77-872d-bb0612892f4b"
      unitRef="usd">1384857</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="i0da012fb121d4444958a74fdc0df68cc_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOjhkYzEzZDJkZTc5MjQyYzM4MWI4NDczNGY0YTE4ODFlL3RhYmxlcmFuZ2U6OGRjMTNkMmRlNzkyNDJjMzgxYjg0NzM0ZjRhMTg4MWVfMTItMy0xLTEtMzg1OTI_455e0ca8-f8d8-489e-8b69-a8204ee4a9d5"
      unitRef="usd">1384857</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="i14aa60aa1fb042d29dd52506eef8f346_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOjhkYzEzZDJkZTc5MjQyYzM4MWI4NDczNGY0YTE4ODFlL3RhYmxlcmFuZ2U6OGRjMTNkMmRlNzkyNDJjMzgxYjg0NzM0ZjRhMTg4MWVfMTMtMS0xLTEtMzg1OTI_db38a797-8e51-401e-a1a7-6829af390fd0"
      unitRef="usd">7243860</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="i14aa60aa1fb042d29dd52506eef8f346_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOjhkYzEzZDJkZTc5MjQyYzM4MWI4NDczNGY0YTE4ODFlL3RhYmxlcmFuZ2U6OGRjMTNkMmRlNzkyNDJjMzgxYjg0NzM0ZjRhMTg4MWVfMTMtMy0xLTEtMzg1OTI_c3302605-3b12-425d-bc58-8482e3e645fd"
      unitRef="usd">7243860</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IntangibleAssetsGrossExcludingGoodwill
      contextRef="ifbe6ca9f0fab40b49660c941a22a8103_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOjhkYzEzZDJkZTc5MjQyYzM4MWI4NDczNGY0YTE4ODFlL3RhYmxlcmFuZ2U6OGRjMTNkMmRlNzkyNDJjMzgxYjg0NzM0ZjRhMTg4MWVfMTQtMS0xLTEtMzg1OTI_768ff06a-69ff-4dba-895b-55f36b9eb26a"
      unitRef="usd">398414627</us-gaap:IntangibleAssetsGrossExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ifbe6ca9f0fab40b49660c941a22a8103_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOjhkYzEzZDJkZTc5MjQyYzM4MWI4NDczNGY0YTE4ODFlL3RhYmxlcmFuZ2U6OGRjMTNkMmRlNzkyNDJjMzgxYjg0NzM0ZjRhMTg4MWVfMTQtMi0xLTEtMzg1OTI_de4d8e66-fbe9-49b8-91ad-e7e15094c2a4"
      unitRef="usd">159225000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="ifbe6ca9f0fab40b49660c941a22a8103_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOjhkYzEzZDJkZTc5MjQyYzM4MWI4NDczNGY0YTE4ODFlL3RhYmxlcmFuZ2U6OGRjMTNkMmRlNzkyNDJjMzgxYjg0NzM0ZjRhMTg4MWVfMTQtMy0xLTEtMzg1OTI_1dd0ea94-a86b-4877-acad-579cd248066d"
      unitRef="usd">239189627</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <gntx:IntangiblePatentsAndAssetsGrossExcludingGoodwill
      contextRef="i6fd510404173459593a77ae995ac9903_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOjhkYzEzZDJkZTc5MjQyYzM4MWI4NDczNGY0YTE4ODFlL3RhYmxlcmFuZ2U6OGRjMTNkMmRlNzkyNDJjMzgxYjg0NzM0ZjRhMTg4MWVfMTYtMS0xLTEtMzg1OTI_a5df6867-ba36-4e2d-95f3-ecae863d3ce1"
      unitRef="usd">438128104</gntx:IntangiblePatentsAndAssetsGrossExcludingGoodwill>
    <gntx:FiniteLivedIntangiblePatentsAndAssetsAccumulatedAmortization
      contextRef="i6fd510404173459593a77ae995ac9903_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOjhkYzEzZDJkZTc5MjQyYzM4MWI4NDczNGY0YTE4ODFlL3RhYmxlcmFuZ2U6OGRjMTNkMmRlNzkyNDJjMzgxYjg0NzM0ZjRhMTg4MWVfMTYtMi0xLTEtMzg1OTI_076b7212-bb3f-4365-bc80-8c5c797fba7e"
      unitRef="usd">185781262</gntx:FiniteLivedIntangiblePatentsAndAssetsAccumulatedAmortization>
    <gntx:IntangiblePatentsAndAssetsNetExcludingGoodwill
      contextRef="i6fd510404173459593a77ae995ac9903_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOjhkYzEzZDJkZTc5MjQyYzM4MWI4NDczNGY0YTE4ODFlL3RhYmxlcmFuZ2U6OGRjMTNkMmRlNzkyNDJjMzgxYjg0NzM0ZjRhMTg4MWVfMTYtMy0xLTEtMzg1OTI_e672c0d6-28fa-46c1-8b77-fc4c3b00f22a"
      unitRef="usd">252346842</gntx:IntangiblePatentsAndAssetsNetExcludingGoodwill>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RleHRyZWdpb246ZmIxYTNkMzI2ZWZiNGMwMmEwMTlmZGIwMGQ3YjQ5NDJfMTA5OTUxMTYzMDI3Mg_0488eb15-1996-4f22-9881-2eb026725c8b"
      unitRef="usd">5500000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RleHRyZWdpb246ZmIxYTNkMzI2ZWZiNGMwMmEwMTlmZGIwMGQ3YjQ5NDJfMjAyNg_d3ef6a64-a109-4adc-a200-731edd8d9fe3"
      unitRef="usd">11100000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RleHRyZWdpb246ZmIxYTNkMzI2ZWZiNGMwMmEwMTlmZGIwMGQ3YjQ5NDJfMTA5OTUxMTYzMDI4MQ_96f072b7-de80-4f01-bf26-c9e9354bc670"
      unitRef="usd">5600000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RleHRyZWdpb246ZmIxYTNkMzI2ZWZiNGMwMmEwMTlmZGIwMGQ3YjQ5NDJfMjA2Ng_6b1b44eb-b082-48f3-acc0-b8372cea1a83"
      unitRef="usd">11200000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RleHRyZWdpb246ZmIxYTNkMzI2ZWZiNGMwMmEwMTlmZGIwMGQ3YjQ5NDJfMjI1MA_d157fd26-2a95-4a63-bd4d-6db0bc59fb33"
      unitRef="usd">22000000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RleHRyZWdpb246ZmIxYTNkMzI2ZWZiNGMwMmEwMTlmZGIwMGQ3YjQ5NDJfMjMyMQ_354083f7-9fbc-4453-bd7e-0a6bfa9eb80f"
      unitRef="usd">20000000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RleHRyZWdpb246ZmIxYTNkMzI2ZWZiNGMwMmEwMTlmZGIwMGQ3YjQ5NDJfMjM4Mw_392abc94-df51-4bf8-bb6b-3598a1cfa1e6"
      unitRef="usd">16000000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RleHRyZWdpb246ZmIxYTNkMzI2ZWZiNGMwMmEwMTlmZGIwMGQ3YjQ5NDJfMjQ3Mg_4a5fe6f9-83af-43f3-a1c9-0f3de2dd254b"
      unitRef="usd">12000000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RleHRyZWdpb246ZmIxYTNkMzI2ZWZiNGMwMmEwMTlmZGIwMGQ3YjQ5NDJfMjQ3Mg_4d1aad75-37f7-479c-bd09-6898d5306376"
      unitRef="usd">12000000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FairValueDisclosuresTextBlock
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RleHRyZWdpb246NDI4YmE2ODQyMzE0NDg3OWI1OGE3MmUxOTkxOTVkNjVfMzI3NA_6d9e82dc-b4a8-48cc-b338-2eb8145ca063">Investments&lt;div style="margin-top:8pt;padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company follows the provisions of Accounting Standards Codification ("ASC") 820, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Fair Value Measurements and Disclosures&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, for its financial assets and liabilities, and for its non-financial assets and liabilities subject to fair value measurements. ASC 820 provides a framework for measuring the fair value of assets and liabilities. This framework is intended to provide increased consistency in how fair value determinations are made under various existing accounting standards that permit, or in some cases, require estimates of fair-market value. This standard also expanded financial statement disclosure requirements with respect to a company&#x2019;s use of fair-value measurements, including the effect of such measurements on earnings.  The cost of securities sold is based on the specific identification method.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company determines the fair value of its government securities, asset-backed securities, municipal bonds, and corporate bonds by utilizing monthly valuation statements that are provided by its broker. The broker determines the investment valuation by utilizing the bid price in the market and also refers to third party sources to validate valuations, and as such are classified as Level 2 assets.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company's certificates of deposit are classified as available for sale and are considered as Level 1 assets.  These investments are carried at cost, which approximates fair value.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company also periodically makes technology&#160;investments&#160;in certain non-consolidated third-parties.  These equity investments are accounted for in accordance with ASC 323, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Investments - Equity Method and Joint Ventures&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;.  The Company's share of the earnings or losses of non-controlled affiliates, over which the Company exercises significant influence (generally a 20% to 50% ownership interest), is included in the consolidated operating results using the equity method of accounting. These equity method investments, over which the Company exercises significant influence, totaled approximately $39.9 million as of June 30, 2022 (including approximately $11.1&#160;million of investments accounted for under ASC 321, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Investments - Equity Securities, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;as of December 31, 2021, for which the Company obtained significant influence during 2022)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; The Company did not have equity method investments as of December 31, 2021. These investments are classified within Equity Method Investments in the condensed consolidated balance sheets.&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company has made technology investments in certain non-consolidated affiliates for ownership interests of less than 20% (where the Company does not have the ability to exercise significant influence). These equity investments are accounted for in accordance with ASC 321, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Investments - Equity Securities&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;.   For these equity investments that do not have readily determinable fair values, and where the Company has not identified any observable events that would cause adjustment of the valuation to date, are then held at cost. These technology investments totaled approximately $7.6 million and $16.8 million as of June 30, 2022 and December 31, 2021, respectively. These investments are classified within Long-Term Investments in the condensed consolidated balance sheets.&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Assets or liabilities that have recurring fair value measurements are shown below as of June 30, 2022 and December 31, 2021:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of June 30, 2022:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;padding-left:36pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:92.982%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:29.245%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.981%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.586%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.937%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.057%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.937%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.215%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.942%"/&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="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Fair&#160;Value&#160;Measurements&#160;at&#160;Reporting&#160;Date&#160;Using&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="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Total as of&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:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Quoted&#160;Prices&#160;in&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Active&#160;Markets&#160;for&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Identical Assets&lt;/span&gt;&lt;/div&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:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Significant Other&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Observable&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Inputs&lt;/span&gt;&lt;/div&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:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Significant&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Unobservable&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Inputs&lt;/span&gt;&lt;/div&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;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Description&lt;/span&gt;&lt;/div&gt;&lt;/td&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;June 30, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(Level 1)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(Level 2)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(Level 3)&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash&#160;&amp;amp; Cash Equivalents&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;269,372,471&#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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;269,372,471&#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:'Arial',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:'Arial',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:'Arial',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:'Arial',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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Short-Term Investments:&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 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Certificate of Deposit&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,752,930&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,752,930&#160;&lt;/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:'Arial',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:'Arial',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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate Bonds&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,467,319&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,467,319&#160;&lt;/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:'Arial',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;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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Municipal Bonds&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,729,072&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,729,072&#160;&lt;/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:'Arial',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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,042,833&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,042,833&#160;&lt;/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:'Arial',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:'Arial',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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-Term Investments:&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 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Asset Backed Securities&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,356,697&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,356,697&#160;&lt;/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:'Arial',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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Certificate of Deposit&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;735,897&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;735,897&#160;&lt;/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:'Arial',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:'Arial',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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate Bonds&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,178,081&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,178,081&#160;&lt;/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:'Arial',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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Government Securities&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,901,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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,901,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:'Arial',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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Municipal Bonds&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,972,792&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,972,792&#160;&lt;/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:'Arial',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;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;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:'Arial',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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;431,509,660&#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;border-bottom:3pt double #000;border-top:1pt solid #000;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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;274,904,131&#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;border-bottom:3pt double #000;border-top:1pt solid #000;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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;156,605,529&#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;border-bottom:3pt double #000;border-top:1pt solid #000;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:'Arial',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:'Arial',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-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:5pt;padding-left:36pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;padding-left:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31,&#160;2021:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:92.397%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:29.437%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.096%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.591%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.881%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.065%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.881%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.065%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.884%"/&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="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Fair&#160;Value&#160;Measurements&#160;at&#160;Reporting&#160;Date&#160;Using&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="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Total as of&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:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Quoted Prices in&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Active Markets for&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Identical Assets&lt;/span&gt;&lt;/div&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:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Significant Other&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Observable&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Inputs&lt;/span&gt;&lt;/div&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:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Significant&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Unobservable&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Inputs&lt;/span&gt;&lt;/div&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;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Description&lt;/span&gt;&lt;/div&gt;&lt;/td&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(Level 1)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(Level 2)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(Level 3)&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash&#160;&amp;amp; Cash Equivalents&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;262,311,670&#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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;262,311,670&#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:'Arial',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:'Arial',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:'Arial',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:'Arial',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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Short-Term Investments:&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 2px 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Certificate of Deposit&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,507,770&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,507,770&#160;&lt;/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:'Arial',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:'Arial',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 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate Bonds&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,018,440&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,018,440&#160;&lt;/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:'Arial',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 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Government Securities&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:'Arial',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:'Arial',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:'Arial',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:'Arial',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 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Municipal Bonds&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:'Arial',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:'Arial',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:'Arial',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:'Arial',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 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,897,402&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,897,402&#160;&lt;/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:'Arial',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:'Arial',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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-Term Investments:&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 2px 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Asset-backed Securities&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,799,513&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,799,513&#160;&lt;/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:'Arial',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 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Certificate of Deposit&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,056,710&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,056,710&#160;&lt;/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:'Arial',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:'Arial',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 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate Bonds&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,354,929&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,354,929&#160;&lt;/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:'Arial',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 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Governmental Securities&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,944,036&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,944,036&#160;&lt;/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:'Arial',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 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Municipal Bonds&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;74,720,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;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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;74,720,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;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:'Arial',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:'Arial',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 #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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;458,610,950&#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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;267,773,552&#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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;190,837,398&#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:'Arial',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:'Arial',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;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="padding-left:36pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;padding-left:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The amortized cost, unrealized gains and losses, and market value of investment securities are shown as of June 30, 2022 and December 31, 2021:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;padding-left:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of June 30, 2022:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:92.690%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:34.704%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.568%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.588%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.568%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.588%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.568%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.588%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.728%"/&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="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Unrealized&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Cost&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gains&lt;/span&gt;&lt;/div&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:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Losses&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Market Value&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Short-Term Investments:&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Certificate of Deposit&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,750,990&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,098&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,158)&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,752,930&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate Bonds&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,630,319&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(163,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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,467,319&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Municipal Bonds&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,740,477&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;760&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(12,165)&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,729,072&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,042,833&#160;&lt;/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:'Arial',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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,042,833&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-Term Investments:&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 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Asset Backed Securities&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,055,501&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(698,804)&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,356,697&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Certificate of Deposit&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;750,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;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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(14,103)&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;735,897&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate Bonds&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,765,445&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,587,364)&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,178,081&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Government Securities&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,238,181&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,361&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,338,974)&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,901,568&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Municipal Bonds&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56,098,534&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;188,395&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,314,137)&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,972,792&#160;&lt;/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:'Arial',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 #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;172,072,280&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;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 #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;195,614&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;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 #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10,130,705)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;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 #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;162,137,189&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;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="padding-left:36pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December 31, 2021:&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:92.397%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:39.089%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.456%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.591%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.615%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.749%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.349%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.591%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.460%"/&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="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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Unrealized&lt;/span&gt;&lt;/td&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:0 1pt"/&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gains&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Market Value&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Short-Term Investments:&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Certificate of Deposit&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,500,543&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,227&#160;&lt;/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:'Arial',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:'Arial',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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,507,770&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate Bonds&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,994,639&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,801&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,018,440&#160;&lt;/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="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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,897,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:'Arial',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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,897,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-Term Investments:&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 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Asset-backed Securities&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,352,630&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,771&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(587,888)&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,799,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Certificate of Deposit&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,001,714&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,996&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,056,710&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate Bonds&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,716,866&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;168,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;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(530,353)&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,354,929&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Government Securities&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,385,672&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;55,939&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(497,575)&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,944,036&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Municipal Bonds&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;72,175,568&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,747,964&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(203,052)&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;74,720,480&#160;&lt;/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:'Arial',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 #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;195,025,034&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;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;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,093,114&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;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;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,818,868)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;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;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;196,299,280&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;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="padding-left:36pt;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Unrealized losses on investments as of June 30, 2022, are as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:92.543%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.563%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.541%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.589%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.807%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Aggregate&#160;Unrealized&#160;Losses&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Aggregate&#160;Fair&#160;Value of Investments&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Loss duration of less than one year&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,893,651&#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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;143,233,962&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Loss duration of greater than one year&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,237,054&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,273,913&#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&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Total&lt;/span&gt;&lt;/div&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,130,705&#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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;152,507,875&#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:9pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Unrealized losses on investments as of December 31, 2021, are as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:92.543%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.247%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.857%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.589%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.807%"/&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:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Aggregate&#160;Unrealized&#160;Losses&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Aggregate&#160;Fair&#160;Value of Investments&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Loss duration of less than one year&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,244,053&#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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;94,417,123&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Loss duration of greater than one year&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;574,815&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,875,230&#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&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Total&lt;/span&gt;&lt;/div&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,818,868&#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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;101,292,353&#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:5pt;padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Effective January 1, 2020, the Company adopted ASU 2016-13,&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt; Financial Instruments - Credit Losses (Topic 326), Measurement of Credit Losses on Financial Instrument&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;s. The guidance modifies the impairment model for available-for-sale debt securities and provides a simplified accounting model for purchased financial assets with credit deterioration since their origination. The Company utilized the guidance provided by ASC 326 to determine whether any of the available-for-sale debt securities held by the Company were impaired. No investments were considered to be impaired during the periods presented. The Company has the intention and current ability to hold its debt investments until any amortized cost basis has been recovered.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;padding-left:36pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;padding-left:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Fixed income securities as of June 30, 2022 have contractual maturities as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:92.836%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:79.687%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.113%"/&gt;&lt;td style="width:0.1%"/&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&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Due within one year&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,949,321&#160;&lt;/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="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Due between one and five years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;89,732,074&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Due over five years&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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;60,412,961&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;159,094,356&#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;</us-gaap:FairValueDisclosuresTextBlock>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="iba500e06d654470bb9d413bdab953944_I20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RleHRyZWdpb246NDI4YmE2ODQyMzE0NDg3OWI1OGE3MmUxOTkxOTVkNjVfMjE5OTAyMzI2MDA4MA_b7c62836-6176-48f5-a616-bd2d6a3ac664"
      unitRef="number">0.20</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="iefc0b78115d14e998e3636bb9fcb0fff_I20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RleHRyZWdpb246NDI4YmE2ODQyMzE0NDg3OWI1OGE3MmUxOTkxOTVkNjVfMjE5OTAyMzI2MDA3NQ_e8c3ee7e-0a6d-4809-9ce8-684b6d5c4c11"
      unitRef="number">0.50</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RleHRyZWdpb246NDI4YmE2ODQyMzE0NDg3OWI1OGE3MmUxOTkxOTVkNjVfMjc0ODc3OTA3MzE1NQ_31989377-a178-499f-8203-0a6ff1a2aa76"
      unitRef="usd">39900000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquitySecuritiesFvNiCurrentAndNoncurrent
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RleHRyZWdpb246NDI4YmE2ODQyMzE0NDg3OWI1OGE3MmUxOTkxOTVkNjVfMjc0ODc3OTA3NDQwNQ_e5e876d7-6979-45e8-8f2b-b5b213192130"
      unitRef="usd">11100000</us-gaap:EquitySecuritiesFvNiCurrentAndNoncurrent>
    <us-gaap:EquityMethodInvestments
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RleHRyZWdpb246NDI4YmE2ODQyMzE0NDg3OWI1OGE3MmUxOTkxOTVkNjVfNTQ5NzU1ODE4OTEw_c0c0dc03-21f7-4534-841e-66b12de8b0cd"
      unitRef="usd">0</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="iba500e06d654470bb9d413bdab953944_I20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RleHRyZWdpb246NDI4YmE2ODQyMzE0NDg3OWI1OGE3MmUxOTkxOTVkNjVfMjE5OTAyMzI2MDA4NQ_8ab4d036-6ba6-4b3e-8610-c922e01adbfc"
      unitRef="number">0.20</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquitySecuritiesFvNiCurrentAndNoncurrent
      contextRef="ia19dc123ed32465c85cf01c38dae3484_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RleHRyZWdpb246NDI4YmE2ODQyMzE0NDg3OWI1OGE3MmUxOTkxOTVkNjVfMjc0ODc3OTA3Mzc5Mw_d58a8200-770e-4da4-979d-e4add0452d95"
      unitRef="usd">7600000</us-gaap:EquitySecuritiesFvNiCurrentAndNoncurrent>
    <us-gaap:EquitySecuritiesFvNiCurrentAndNoncurrent
      contextRef="i73d8eb0d47064a018fc3027357b8e00a_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RleHRyZWdpb246NDI4YmE2ODQyMzE0NDg3OWI1OGE3MmUxOTkxOTVkNjVfMjc0ODc3OTA3MzgwNw_847798bd-bddf-409b-ae3c-88eed5c906f7"
      unitRef="usd">16800000</us-gaap:EquitySecuritiesFvNiCurrentAndNoncurrent>
    <us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RleHRyZWdpb246NDI4YmE2ODQyMzE0NDg3OWI1OGE3MmUxOTkxOTVkNjVfMzI3Mw_1609a227-93ae-4c06-b361-900144684287">&lt;div style="margin-top:8pt;padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Assets or liabilities that have recurring fair value measurements are shown below as of June 30, 2022 and December 31, 2021:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of June 30, 2022:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;padding-left:36pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:92.982%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:29.245%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.981%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.586%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.937%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.057%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.937%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.215%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.942%"/&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="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Fair&#160;Value&#160;Measurements&#160;at&#160;Reporting&#160;Date&#160;Using&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="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Total as of&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:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Quoted&#160;Prices&#160;in&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Active&#160;Markets&#160;for&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Identical Assets&lt;/span&gt;&lt;/div&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:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Significant Other&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Observable&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Inputs&lt;/span&gt;&lt;/div&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:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Significant&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Unobservable&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Inputs&lt;/span&gt;&lt;/div&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;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Description&lt;/span&gt;&lt;/div&gt;&lt;/td&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;June 30, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(Level 1)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(Level 2)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(Level 3)&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash&#160;&amp;amp; Cash Equivalents&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;269,372,471&#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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;269,372,471&#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:'Arial',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:'Arial',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:'Arial',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:'Arial',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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Short-Term Investments:&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 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Certificate of Deposit&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,752,930&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,752,930&#160;&lt;/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:'Arial',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:'Arial',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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate Bonds&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,467,319&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,467,319&#160;&lt;/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:'Arial',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;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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Municipal Bonds&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,729,072&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,729,072&#160;&lt;/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:'Arial',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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,042,833&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,042,833&#160;&lt;/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:'Arial',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:'Arial',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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-Term Investments:&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 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Asset Backed Securities&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,356,697&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,356,697&#160;&lt;/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:'Arial',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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Certificate of Deposit&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;735,897&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;735,897&#160;&lt;/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:'Arial',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:'Arial',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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate Bonds&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,178,081&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,178,081&#160;&lt;/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:'Arial',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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Government Securities&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,901,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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,901,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:'Arial',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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Municipal Bonds&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,972,792&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,972,792&#160;&lt;/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:'Arial',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;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;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:'Arial',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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;431,509,660&#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;border-bottom:3pt double #000;border-top:1pt solid #000;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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;274,904,131&#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;border-bottom:3pt double #000;border-top:1pt solid #000;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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;156,605,529&#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;border-bottom:3pt double #000;border-top:1pt solid #000;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:'Arial',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:'Arial',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-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:5pt;padding-left:36pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;padding-left:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31,&#160;2021:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:92.397%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:29.437%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.096%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.591%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.881%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.065%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.881%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.065%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.884%"/&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="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Fair&#160;Value&#160;Measurements&#160;at&#160;Reporting&#160;Date&#160;Using&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="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Total as of&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:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Quoted Prices in&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Active Markets for&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Identical Assets&lt;/span&gt;&lt;/div&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:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Significant Other&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Observable&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Inputs&lt;/span&gt;&lt;/div&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:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Significant&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Unobservable&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Inputs&lt;/span&gt;&lt;/div&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;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Description&lt;/span&gt;&lt;/div&gt;&lt;/td&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(Level 1)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(Level 2)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(Level 3)&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash&#160;&amp;amp; Cash Equivalents&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;262,311,670&#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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;262,311,670&#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:'Arial',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:'Arial',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:'Arial',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:'Arial',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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Short-Term Investments:&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 2px 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Certificate of Deposit&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,507,770&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,507,770&#160;&lt;/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:'Arial',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:'Arial',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 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate Bonds&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,018,440&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,018,440&#160;&lt;/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:'Arial',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 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Government Securities&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:'Arial',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:'Arial',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:'Arial',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:'Arial',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 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Municipal Bonds&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:'Arial',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:'Arial',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:'Arial',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:'Arial',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 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,897,402&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,897,402&#160;&lt;/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:'Arial',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:'Arial',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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-Term Investments:&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 2px 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Asset-backed Securities&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,799,513&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,799,513&#160;&lt;/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:'Arial',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 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Certificate of Deposit&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,056,710&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,056,710&#160;&lt;/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:'Arial',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:'Arial',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 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate Bonds&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,354,929&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,354,929&#160;&lt;/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:'Arial',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 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Governmental Securities&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,944,036&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,944,036&#160;&lt;/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:'Arial',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 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Municipal Bonds&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;74,720,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;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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;74,720,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;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:'Arial',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:'Arial',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 #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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;458,610,950&#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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;267,773,552&#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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;190,837,398&#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:'Arial',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:'Arial',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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjU1YTU1MzgxZDMzYjRhYjU5NDRjMzhlNzU5NmExZjlkL3RhYmxlcmFuZ2U6NTVhNTUzODFkMzNiNGFiNTk0NGMzOGU3NTk2YTFmOWRfMy0xLTEtMS0zODU5Mg_1b346f3c-2cea-40d5-95fa-6c52d5a020af"
      unitRef="usd">269372471</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i9662f113a4be496d9dd28bca3e7e5661_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjU1YTU1MzgxZDMzYjRhYjU5NDRjMzhlNzU5NmExZjlkL3RhYmxlcmFuZ2U6NTVhNTUzODFkMzNiNGFiNTk0NGMzOGU3NTk2YTFmOWRfMy0zLTEtMS0zODU5Mg_0151752d-4a00-4949-8ae3-3a956c97d244"
      unitRef="usd">269372471</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ib543a208e0644bb1a76c602eeb0d8f08_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjU1YTU1MzgxZDMzYjRhYjU5NDRjMzhlNzU5NmExZjlkL3RhYmxlcmFuZ2U6NTVhNTUzODFkMzNiNGFiNTk0NGMzOGU3NTk2YTFmOWRfMy01LTEtMS0zODU5Mg_ae79af02-63db-42b1-90af-d39cc01c3b98"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="if6a4e9e8b6124075902a092bde92314e_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjU1YTU1MzgxZDMzYjRhYjU5NDRjMzhlNzU5NmExZjlkL3RhYmxlcmFuZ2U6NTVhNTUzODFkMzNiNGFiNTk0NGMzOGU3NTk2YTFmOWRfMy03LTEtMS0zODU5Mg_2d625cc6-be1c-4c6a-b0b7-16e9195d3f2d"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i97389837da0c4d9c9d1b2bb9b8435dc7_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjU1YTU1MzgxZDMzYjRhYjU5NDRjMzhlNzU5NmExZjlkL3RhYmxlcmFuZ2U6NTVhNTUzODFkMzNiNGFiNTk0NGMzOGU3NTk2YTFmOWRfNS0xLTEtMS0zODU5Mg_99839f34-a730-4965-8532-1633c1d47c7c"
      unitRef="usd">1752930</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="iefbce3631a404070abc7b39d89089dc8_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjU1YTU1MzgxZDMzYjRhYjU5NDRjMzhlNzU5NmExZjlkL3RhYmxlcmFuZ2U6NTVhNTUzODFkMzNiNGFiNTk0NGMzOGU3NTk2YTFmOWRfNS0zLTEtMS0zODU5Mg_fe074661-68ee-4ba4-8e59-e28ca188569d"
      unitRef="usd">1752930</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="ie4f19bcb47564e23ad12536a2d63912d_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjU1YTU1MzgxZDMzYjRhYjU5NDRjMzhlNzU5NmExZjlkL3RhYmxlcmFuZ2U6NTVhNTUzODFkMzNiNGFiNTk0NGMzOGU3NTk2YTFmOWRfNS01LTEtMS0zODU5Mg_32157bec-7250-4567-a57c-11d7dc06d0a4"
      unitRef="usd">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i19671ed4e7ed406f82a9867e3497613f_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjU1YTU1MzgxZDMzYjRhYjU5NDRjMzhlNzU5NmExZjlkL3RhYmxlcmFuZ2U6NTVhNTUzODFkMzNiNGFiNTk0NGMzOGU3NTk2YTFmOWRfNS03LTEtMS0zODU5Mg_b6e7b931-1f3c-4469-800e-6e401c19f9fe"
      unitRef="usd">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i080730588bf74aaa8f750d31a591aa89_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjU1YTU1MzgxZDMzYjRhYjU5NDRjMzhlNzU5NmExZjlkL3RhYmxlcmFuZ2U6NTVhNTUzODFkMzNiNGFiNTk0NGMzOGU3NTk2YTFmOWRfNi0xLTEtMS0zODU5Mg_b00e67e4-332a-4928-aa8f-b36dc1d9e50f"
      unitRef="usd">5467319</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="idbeb82a175684e338f2cdb6d856c56bf_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjU1YTU1MzgxZDMzYjRhYjU5NDRjMzhlNzU5NmExZjlkL3RhYmxlcmFuZ2U6NTVhNTUzODFkMzNiNGFiNTk0NGMzOGU3NTk2YTFmOWRfNi0zLTEtMS0zODU5Mg_68edc914-edb1-4831-828e-d36214f48bc2"
      unitRef="usd">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i9290530b4eb641c0807f1c0485c7ef2e_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjU1YTU1MzgxZDMzYjRhYjU5NDRjMzhlNzU5NmExZjlkL3RhYmxlcmFuZ2U6NTVhNTUzODFkMzNiNGFiNTk0NGMzOGU3NTk2YTFmOWRfNi01LTEtMS0zODU5Mg_a75fa37f-9d2e-43d1-9ee2-47d9d8e99ecd"
      unitRef="usd">5467319</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i1fa7b4408d82452da6b078d06f349ce1_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjU1YTU1MzgxZDMzYjRhYjU5NDRjMzhlNzU5NmExZjlkL3RhYmxlcmFuZ2U6NTVhNTUzODFkMzNiNGFiNTk0NGMzOGU3NTk2YTFmOWRfNi03LTEtMS0zODU5Mg_2c93fba5-83bf-46b5-9240-43d9c20586da"
      unitRef="usd">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i07771cf5448c44338d97b3bd1914679c_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjU1YTU1MzgxZDMzYjRhYjU5NDRjMzhlNzU5NmExZjlkL3RhYmxlcmFuZ2U6NTVhNTUzODFkMzNiNGFiNTk0NGMzOGU3NTk2YTFmOWRfOC0xLTEtMS0zODU5Mg_2475b600-8b74-4910-a888-72a981086445"
      unitRef="usd">1729072</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="ieaf02dd439854f30a632bb8a2771937e_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjU1YTU1MzgxZDMzYjRhYjU5NDRjMzhlNzU5NmExZjlkL3RhYmxlcmFuZ2U6NTVhNTUzODFkMzNiNGFiNTk0NGMzOGU3NTk2YTFmOWRfOC0zLTEtMS0zODU5Mg_c8b388b8-ee63-46f1-bf4d-aa2798e8da3e"
      unitRef="usd">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i56f2091c4fca4bd4b2d4f765197194d7_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjU1YTU1MzgxZDMzYjRhYjU5NDRjMzhlNzU5NmExZjlkL3RhYmxlcmFuZ2U6NTVhNTUzODFkMzNiNGFiNTk0NGMzOGU3NTk2YTFmOWRfOC01LTEtMS0zODU5Mg_0ff9134c-7cff-4cff-8cfd-6949a23d2a5b"
      unitRef="usd">1729072</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i701266620fe14cd8ab3643d266932ad9_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjU1YTU1MzgxZDMzYjRhYjU5NDRjMzhlNzU5NmExZjlkL3RhYmxlcmFuZ2U6NTVhNTUzODFkMzNiNGFiNTk0NGMzOGU3NTk2YTFmOWRfOC03LTEtMS0zODU5Mg_0190c6dc-248b-445a-9d9a-b60915b835b8"
      unitRef="usd">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i533462e05d28481994c1b15403c59695_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjU1YTU1MzgxZDMzYjRhYjU5NDRjMzhlNzU5NmExZjlkL3RhYmxlcmFuZ2U6NTVhNTUzODFkMzNiNGFiNTk0NGMzOGU3NTk2YTFmOWRfOS0xLTEtMS0zODU5Mg_97c104b9-8e1a-447b-b2a9-e26bc1e88319"
      unitRef="usd">3042833</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i8e9f3b385eb34768a69ec30a9cfb2bb4_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjU1YTU1MzgxZDMzYjRhYjU5NDRjMzhlNzU5NmExZjlkL3RhYmxlcmFuZ2U6NTVhNTUzODFkMzNiNGFiNTk0NGMzOGU3NTk2YTFmOWRfOS0zLTEtMS0zODU5Mg_5765ec0c-e523-44af-9fc5-6cb6d84c18db"
      unitRef="usd">3042833</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="if5ebaea3005147c69d040d9255b35c0d_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjU1YTU1MzgxZDMzYjRhYjU5NDRjMzhlNzU5NmExZjlkL3RhYmxlcmFuZ2U6NTVhNTUzODFkMzNiNGFiNTk0NGMzOGU3NTk2YTFmOWRfOS01LTEtMS0zODU5Mg_06ac61cd-e218-46f5-8461-8e8a2dd2371a"
      unitRef="usd">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i1cc59c3b152540f0aabf7146c4669e9f_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjU1YTU1MzgxZDMzYjRhYjU5NDRjMzhlNzU5NmExZjlkL3RhYmxlcmFuZ2U6NTVhNTUzODFkMzNiNGFiNTk0NGMzOGU3NTk2YTFmOWRfOS03LTEtMS0zODU5Mg_ae2da0e9-5baa-400c-b594-d62d6eb46bec"
      unitRef="usd">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i7b392cf622954c4c996c677b86595f1f_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjU1YTU1MzgxZDMzYjRhYjU5NDRjMzhlNzU5NmExZjlkL3RhYmxlcmFuZ2U6NTVhNTUzODFkMzNiNGFiNTk0NGMzOGU3NTk2YTFmOWRfMTEtMS0xLTEtMzg1OTI_30bdfda4-e8ea-4bdd-9bf8-2fcf283afeb6"
      unitRef="usd">23356697</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="ic6c0f101147a45168923fd65e0228868_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjU1YTU1MzgxZDMzYjRhYjU5NDRjMzhlNzU5NmExZjlkL3RhYmxlcmFuZ2U6NTVhNTUzODFkMzNiNGFiNTk0NGMzOGU3NTk2YTFmOWRfMTEtMy0xLTEtMzg1OTI_4112c72f-a7de-47f5-b937-794792b2cf65"
      unitRef="usd">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="idb6662b0fdc74fc59fa8ae38219d7786_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjU1YTU1MzgxZDMzYjRhYjU5NDRjMzhlNzU5NmExZjlkL3RhYmxlcmFuZ2U6NTVhNTUzODFkMzNiNGFiNTk0NGMzOGU3NTk2YTFmOWRfMTEtNS0xLTEtMzg1OTI_edfdcecc-2667-4eba-870e-4eb4dd287903"
      unitRef="usd">23356697</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="id5978610660240da86ba579ba72e02ec_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjU1YTU1MzgxZDMzYjRhYjU5NDRjMzhlNzU5NmExZjlkL3RhYmxlcmFuZ2U6NTVhNTUzODFkMzNiNGFiNTk0NGMzOGU3NTk2YTFmOWRfMTEtNy0xLTEtMzg1OTI_5e1b955f-273e-4aa8-bf04-334739e82a84"
      unitRef="usd">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="ibaa5223540e5439288527f8cd23c3cdf_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjU1YTU1MzgxZDMzYjRhYjU5NDRjMzhlNzU5NmExZjlkL3RhYmxlcmFuZ2U6NTVhNTUzODFkMzNiNGFiNTk0NGMzOGU3NTk2YTFmOWRfMTItMS0xLTEtMzg1OTI_5986ae23-467f-4027-b2a3-98349129c4a4"
      unitRef="usd">735897</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="ib9e0ccb14e75405384c6b27a6847b7ba_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjU1YTU1MzgxZDMzYjRhYjU5NDRjMzhlNzU5NmExZjlkL3RhYmxlcmFuZ2U6NTVhNTUzODFkMzNiNGFiNTk0NGMzOGU3NTk2YTFmOWRfMTItMy0xLTEtMzg1OTI_4e4a9722-4525-4d94-aeef-94232b1016e0"
      unitRef="usd">735897</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="ie8177b9d599f4a8a896e2395af6cc3c4_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjU1YTU1MzgxZDMzYjRhYjU5NDRjMzhlNzU5NmExZjlkL3RhYmxlcmFuZ2U6NTVhNTUzODFkMzNiNGFiNTk0NGMzOGU3NTk2YTFmOWRfMTItNS0xLTEtMzg1OTI_8a95a5c4-d7c2-48ad-855c-bccc1c2d73fb"
      unitRef="usd">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i2d765a40cd584932b73e9e72d92cd00d_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjU1YTU1MzgxZDMzYjRhYjU5NDRjMzhlNzU5NmExZjlkL3RhYmxlcmFuZ2U6NTVhNTUzODFkMzNiNGFiNTk0NGMzOGU3NTk2YTFmOWRfMTItNy0xLTEtMzg1OTI_8cd61d9c-a041-43a2-acb2-22157997939d"
      unitRef="usd">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i7c6a8e95d8e444d0986a3dcb9ff84d68_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjU1YTU1MzgxZDMzYjRhYjU5NDRjMzhlNzU5NmExZjlkL3RhYmxlcmFuZ2U6NTVhNTUzODFkMzNiNGFiNTk0NGMzOGU3NTk2YTFmOWRfMTMtMS0xLTEtMzg1OTI_d7e76836-96e7-44cb-b5ac-7e19235e0acb"
      unitRef="usd">34178081</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i7a859be100b34f07813d5ae25522ed28_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjU1YTU1MzgxZDMzYjRhYjU5NDRjMzhlNzU5NmExZjlkL3RhYmxlcmFuZ2U6NTVhNTUzODFkMzNiNGFiNTk0NGMzOGU3NTk2YTFmOWRfMTMtMy0xLTEtMzg1OTI_f90414a7-1a37-4bb1-8e29-61bec1100813"
      unitRef="usd">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i08e1ec9b97d940119ebf34c8eb2b73d7_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjU1YTU1MzgxZDMzYjRhYjU5NDRjMzhlNzU5NmExZjlkL3RhYmxlcmFuZ2U6NTVhNTUzODFkMzNiNGFiNTk0NGMzOGU3NTk2YTFmOWRfMTMtNS0xLTEtMzg1OTI_d91b2a6c-cac9-4100-95c7-beb0171b4e8b"
      unitRef="usd">34178081</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="ief1bb442ef5246c994c77acb3eef8b25_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjU1YTU1MzgxZDMzYjRhYjU5NDRjMzhlNzU5NmExZjlkL3RhYmxlcmFuZ2U6NTVhNTUzODFkMzNiNGFiNTk0NGMzOGU3NTk2YTFmOWRfMTMtNy0xLTEtMzg1OTI_46783ef4-bfb7-443c-82da-0a55f7160b23"
      unitRef="usd">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i3aa89d68ec824d4e80a9bcbf62b948ea_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjU1YTU1MzgxZDMzYjRhYjU5NDRjMzhlNzU5NmExZjlkL3RhYmxlcmFuZ2U6NTVhNTUzODFkMzNiNGFiNTk0NGMzOGU3NTk2YTFmOWRfMTQtMS0xLTEtMzg1OTI_26df6cf9-ff65-43d0-a934-d5df596d9114"
      unitRef="usd">38901568</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i8a39eb82d54f4cb7bae11dc3bc5cab3d_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjU1YTU1MzgxZDMzYjRhYjU5NDRjMzhlNzU5NmExZjlkL3RhYmxlcmFuZ2U6NTVhNTUzODFkMzNiNGFiNTk0NGMzOGU3NTk2YTFmOWRfMTQtMy0xLTEtMzg1OTI_c77c7f45-73af-4ea3-b615-434a5ff1b8a2"
      unitRef="usd">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i6bf5c858edbd4c4b8163620772e2bcf3_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjU1YTU1MzgxZDMzYjRhYjU5NDRjMzhlNzU5NmExZjlkL3RhYmxlcmFuZ2U6NTVhNTUzODFkMzNiNGFiNTk0NGMzOGU3NTk2YTFmOWRfMTQtNS0xLTEtMzg1OTI_940ab66f-e955-4bd1-b018-c8c8c66d7279"
      unitRef="usd">38901568</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i0af21c6a993446e7b20b563e7e33c742_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjU1YTU1MzgxZDMzYjRhYjU5NDRjMzhlNzU5NmExZjlkL3RhYmxlcmFuZ2U6NTVhNTUzODFkMzNiNGFiNTk0NGMzOGU3NTk2YTFmOWRfMTQtNy0xLTEtMzg1OTI_1de821d2-114c-4ca3-9290-8fdd45cc2bc0"
      unitRef="usd">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i642fbba9010e4461a6efd8e072d8c036_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjU1YTU1MzgxZDMzYjRhYjU5NDRjMzhlNzU5NmExZjlkL3RhYmxlcmFuZ2U6NTVhNTUzODFkMzNiNGFiNTk0NGMzOGU3NTk2YTFmOWRfMTUtMS0xLTEtMzg1OTI_67d42506-326d-47fe-aae2-9e678980f29d"
      unitRef="usd">52972792</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i3d42970f3c474402b87565bc72e6360f_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjU1YTU1MzgxZDMzYjRhYjU5NDRjMzhlNzU5NmExZjlkL3RhYmxlcmFuZ2U6NTVhNTUzODFkMzNiNGFiNTk0NGMzOGU3NTk2YTFmOWRfMTUtMy0xLTEtMzg1OTI_5f8777aa-2c20-4d98-8e0e-89e1573b5cd8"
      unitRef="usd">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="icd7bd640c4b24e108d23f329505d8684_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjU1YTU1MzgxZDMzYjRhYjU5NDRjMzhlNzU5NmExZjlkL3RhYmxlcmFuZ2U6NTVhNTUzODFkMzNiNGFiNTk0NGMzOGU3NTk2YTFmOWRfMTUtNS0xLTEtMzg1OTI_c99969c9-8c34-472c-afae-2ae792d18ef5"
      unitRef="usd">52972792</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i32c1fd792a5549709842f619ea13a40e_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjU1YTU1MzgxZDMzYjRhYjU5NDRjMzhlNzU5NmExZjlkL3RhYmxlcmFuZ2U6NTVhNTUzODFkMzNiNGFiNTk0NGMzOGU3NTk2YTFmOWRfMTUtNy0xLTEtMzg1OTI_1602743c-b7ff-4683-97b6-6cf8eb9e3916"
      unitRef="usd">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjU1YTU1MzgxZDMzYjRhYjU5NDRjMzhlNzU5NmExZjlkL3RhYmxlcmFuZ2U6NTVhNTUzODFkMzNiNGFiNTk0NGMzOGU3NTk2YTFmOWRfMTgtMS0xLTEtMzg1OTI_9e646c88-0e7f-4f2b-aa5c-de9167a6e344"
      unitRef="usd">431509660</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i9662f113a4be496d9dd28bca3e7e5661_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjU1YTU1MzgxZDMzYjRhYjU5NDRjMzhlNzU5NmExZjlkL3RhYmxlcmFuZ2U6NTVhNTUzODFkMzNiNGFiNTk0NGMzOGU3NTk2YTFmOWRfMTgtMy0xLTEtMzg1OTI_061bf1b6-b70a-4cc6-b72b-73d087152a1d"
      unitRef="usd">274904131</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="ib543a208e0644bb1a76c602eeb0d8f08_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjU1YTU1MzgxZDMzYjRhYjU5NDRjMzhlNzU5NmExZjlkL3RhYmxlcmFuZ2U6NTVhNTUzODFkMzNiNGFiNTk0NGMzOGU3NTk2YTFmOWRfMTgtNS0xLTEtMzg1OTI_bda953c2-525b-4ae9-b897-8c981f8f2b84"
      unitRef="usd">156605529</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="if6a4e9e8b6124075902a092bde92314e_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjU1YTU1MzgxZDMzYjRhYjU5NDRjMzhlNzU5NmExZjlkL3RhYmxlcmFuZ2U6NTVhNTUzODFkMzNiNGFiNTk0NGMzOGU3NTk2YTFmOWRfMTgtNy0xLTEtMzg1OTI_1df28d29-f22b-4c2c-9d52-667dd417d6c5"
      unitRef="usd">0</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfMy0xLTEtMS0zODU5Mg_5e234ed4-d6bb-46ff-9663-3906b5088874"
      unitRef="usd">262311670</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i1d788ac84fe44938840e298c5c412d28_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfMy0zLTEtMS0zODU5Mg_3769577e-6dd4-41e5-91de-997a4017bcdb"
      unitRef="usd">262311670</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="iedbee3695fef4719a1aba59ec5cf76ff_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfMy01LTEtMS0zODU5Mg_29635c82-3335-4564-a73b-55d1d55fc77b"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i95fad79d67bb430ab9e3549b2a5d7f2a_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfMy03LTEtMS0zODU5Mg_f46ba5c7-e4aa-4323-947f-885e9d8e779c"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i36f5e9118df34f03a948fd0389b6774f_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfNS0xLTEtMS0zODU5Mg_6f8eaf94-6fb3-4859-851e-eb1739e683c7"
      unitRef="usd">1507770</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="if0afb419821c4004bd72f434e5332175_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfNS0zLTEtMS0zODU5Mg_f177da51-b81c-4f12-9dce-e46926839ebb"
      unitRef="usd">1507770</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i65c1d20029884691b9867a87f6df612a_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfNS01LTEtMS0zODU5Mg_d4e9925f-e249-4bce-ad13-37363e4e028a"
      unitRef="usd">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i032c15b615d5449c8ebe946053c31eb0_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfNS03LTEtMS0zODU5Mg_bc7e69cc-458b-45c4-92bc-88bd6481bbbe"
      unitRef="usd">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i10b89df48bf54d319bf721e64d9d0fcc_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfNi0xLTEtMS0zODU5Mg_367d2257-cd28-4ef1-98ab-f76b1aefa949"
      unitRef="usd">2018440</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i41f0d7851f8c4fa7841ba562453f71f0_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfNi0zLTEtMS0zODU5Mg_7454ada5-6693-4ef5-8748-4fd25dbee289"
      unitRef="usd">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i950418781d704d44b7ebb6daf5ae6da0_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfNi01LTEtMS0zODU5Mg_f0cff4b9-ba83-4caf-9e75-0f3957617fa1"
      unitRef="usd">2018440</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="ib5c3a2ff836a48af906bdff087f6f5ad_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfNi03LTEtMS0zODU5Mg_b11da499-8c39-4b98-8c9f-179c0db6669e"
      unitRef="usd">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i5036c68a027a44e3a5ab1be92f49ddf6_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfNy0xLTEtMS0zODU5Mg_3802a43a-7d70-40b2-888d-2e1d2611905a"
      unitRef="usd">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i8ecefc4d4ece4652a8265246423c201d_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfNy0zLTEtMS0zODU5Mg_1cbc8e6d-b64a-4e64-882e-f950bf520615"
      unitRef="usd">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i1386284643fa489e8d2b16c728e3e32c_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfNy01LTEtMS0zODU5Mg_f2e471a3-58f8-47cf-96e1-b5f96c5591f2"
      unitRef="usd">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i09b768bda23f4369bd7ec7f82ffb6a5e_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfNy03LTEtMS0zODU5Mg_72a44541-b6d7-4020-9a01-7b547f3b063e"
      unitRef="usd">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i0892d9822cbe4f0aaba363f09cc97566_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfOC0xLTEtMS0zODU5Mg_c089e42d-2ef3-4e66-96c9-b2ae371bb913"
      unitRef="usd">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="if82aacdeb3d0457e8917cb8a704d6e1d_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfOC0zLTEtMS0zODU5Mg_fc85da9c-df06-48d0-b25e-0f7c43be33f7"
      unitRef="usd">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i9c3f2792853e4598b8682d9a43f14cca_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfOC01LTEtMS0zODU5Mg_bbda11a8-7212-4caa-8fa4-56f59106051b"
      unitRef="usd">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i4d26c25ee7134d9388598e034a9025d9_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfOC03LTEtMS0zODU5Mg_51fb6e6e-ea7c-43c8-8e97-61af828f8845"
      unitRef="usd">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i9106a241601c4e978cb2bdb62bc13a00_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfOS0xLTEtMS0zODU5Mg_42616406-2f51-4619-be3e-da4d262d8e12"
      unitRef="usd">1897402</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i2a566489bf034b37b188a77f39b55540_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfOS0zLTEtMS0zODU5Mg_b739d099-e712-40fe-b483-0307be7c3cd5"
      unitRef="usd">1897402</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i888840b367b14d199a8b5251b6e25609_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfOS01LTEtMS0zODU5Mg_0a3562a9-7c44-4f4c-b7f5-f2ba28130574"
      unitRef="usd">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i52fb4baebd0f4073a78ca06b69cc7c1e_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfOS03LTEtMS0zODU5Mg_3e6fb2e1-d169-4408-a506-edd766089301"
      unitRef="usd">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i36be01de81994e688c4e656f37f1fd31_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfMTEtMS0xLTEtMzg1OTI_bbf30526-3059-4ef8-9401-3c6fcab7863c"
      unitRef="usd">25799513</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i416dafe2bdc74a07abb3686559e49a4a_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfMTEtMy0xLTEtMzg1OTI_231d05d6-979a-4b6c-85d7-8c9517d30ef3"
      unitRef="usd">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i15fb3f6210f341f3bc6d080b19a17515_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfMTEtNS0xLTEtMzg1OTI_b9c5a371-1a6f-44d1-924c-ad9c02bb3a4b"
      unitRef="usd">25799513</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i8278caa76c5b4edf8da6ae0ce6120dcb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfMTEtNy0xLTEtMzg1OTI_8aadb121-d005-44ca-aa70-ff3f45cc9954"
      unitRef="usd">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i2b35137fda1247bf812a4e720728e6f9_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfMTItMS0xLTEtMzg1OTI_188876bc-7ac0-4130-aa72-3d10634e5eed"
      unitRef="usd">2056710</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i29d80600213b4c1aa642a39399042ee6_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfMTItMy0xLTEtMzg1OTI_cb26940e-f17c-409b-aed0-081d266c3d2c"
      unitRef="usd">2056710</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="ie6c5d8ff1d6d4595a29ab34204c1df07_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfMTItNS0xLTEtMzg1OTI_af92c600-d646-44dc-b23c-e3f2e9fb4037"
      unitRef="usd">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i5cc75ef66f3b4d9d909778bbb527dadc_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfMTItNy0xLTEtMzg1OTI_4b082757-4343-4634-82b6-f9aba6cf1bd1"
      unitRef="usd">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i99182ed4ae9146ddac1a19dc53382070_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfMTMtMS0xLTEtMzg1OTI_e98529ca-791f-45db-99bd-16cf86f96dae"
      unitRef="usd">40354929</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i735d1763339c46af84602ece884e05eb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfMTMtMy0xLTEtMzg1OTI_1f29f049-5d37-4d72-a901-14edd203803c"
      unitRef="usd">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="ica55021be9a04fdbbe636aefb27c810c_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfMTMtNS0xLTEtMzg1OTI_724356b6-3675-40a0-997b-1e15c38b2741"
      unitRef="usd">40354929</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="ie8b58786c15a43a9ae5f9e7a6de5d355_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfMTMtNy0xLTEtMzg1OTI_06c4dc1a-758b-4c7d-9b93-66a566ceec20"
      unitRef="usd">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i71089d91006b414b9973397d7caf973c_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfMTQtMS0xLTEtMzg1OTI_d342cef6-2dc5-4419-9c6a-1b51e0264b42"
      unitRef="usd">47944036</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i1d83a8abc372499488daba225357831f_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfMTQtMy0xLTEtMzg1OTI_6657c810-bce1-4a4a-8501-e8139da54314"
      unitRef="usd">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i07bf6d6c477a438a82a66b55953fca96_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfMTQtNS0xLTEtMzg1OTI_226592a7-33b2-4bb9-bfb0-39ee0e34649c"
      unitRef="usd">47944036</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i012a67053f9b40caa44199f53f2996c9_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfMTQtNy0xLTEtMzg1OTI_a5185b84-fdff-4d73-9b3c-d739fb77af49"
      unitRef="usd">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="ibe333fa0f3dd42c798200d43e506eff4_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfMTUtMS0xLTEtMzg1OTI_f659d2bd-d262-4c18-a2b9-e11ae5be79c0"
      unitRef="usd">74720480</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i9b03b3db62ed4d18a93d4afbfbab2d32_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfMTUtMy0xLTEtMzg1OTI_11eda27b-bc62-470a-9b98-f1baa747e1bb"
      unitRef="usd">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i3f05d9d894b441b4b18057c947ab0144_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfMTUtNS0xLTEtMzg1OTI_30f224d1-0886-4efe-92f1-66b90740d7a6"
      unitRef="usd">74720480</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i051de01693534724af01a222e107a1d8_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfMTUtNy0xLTEtMzg1OTI_6aaf3b9f-bb6d-46b9-b562-4c641c722e41"
      unitRef="usd">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfMTYtMS0xLTEtMzg1OTI_7029ff32-4026-44c0-b7e9-b7d786b12913"
      unitRef="usd">458610950</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i1d788ac84fe44938840e298c5c412d28_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfMTYtMy0xLTEtMzg1OTI_7cdc19bb-1902-4686-ada9-ca9bcb47c731"
      unitRef="usd">267773552</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="iedbee3695fef4719a1aba59ec5cf76ff_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfMTYtNS0xLTEtMzg1OTI_ccf3e4ea-3f30-4b02-99ba-d630b8e2f27d"
      unitRef="usd">190837398</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i95fad79d67bb430ab9e3549b2a5d7f2a_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmYxMzY4YTE0NGM1MjQ0Nzg4NzdmMmM5MGQ3NzcyMDdiL3RhYmxlcmFuZ2U6ZjEzNjhhMTQ0YzUyNDQ3ODg3N2YyYzkwZDc3NzIwN2JfMTYtNy0xLTEtMzg1OTI_b0fe77af-aa08-4965-87dd-f53060c1ed77"
      unitRef="usd">0</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:UnrealizedGainLossOnInvestmentsTableTextBlock
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RleHRyZWdpb246NDI4YmE2ODQyMzE0NDg3OWI1OGE3MmUxOTkxOTVkNjVfMzI3Nw_6c7b4219-ee17-4732-870c-c9d04bd9aeaa">The amortized cost, unrealized gains and losses, and market value of investment securities are shown as of June 30, 2022 and December 31, 2021:&lt;div style="margin-top:5pt;padding-left:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of June 30, 2022:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:92.690%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:34.704%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.568%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.588%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.568%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.588%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.568%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.588%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.728%"/&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="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Unrealized&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Cost&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gains&lt;/span&gt;&lt;/div&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:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Losses&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Market Value&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Short-Term Investments:&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Certificate of Deposit&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,750,990&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,098&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,158)&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,752,930&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate Bonds&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,630,319&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(163,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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,467,319&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Municipal Bonds&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,740,477&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;760&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(12,165)&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,729,072&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,042,833&#160;&lt;/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:'Arial',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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,042,833&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-Term Investments:&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 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Asset Backed Securities&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,055,501&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(698,804)&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,356,697&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Certificate of Deposit&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;750,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;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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(14,103)&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;735,897&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate Bonds&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,765,445&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,587,364)&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,178,081&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Government Securities&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,238,181&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,361&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,338,974)&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,901,568&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Municipal Bonds&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56,098,534&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;188,395&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,314,137)&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,972,792&#160;&lt;/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:'Arial',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 #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;172,072,280&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;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 #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;195,614&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;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 #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10,130,705)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;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 #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;162,137,189&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;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="padding-left:36pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December 31, 2021:&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:92.397%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:39.089%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.456%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.591%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.615%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.749%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.349%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.591%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.460%"/&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="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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Unrealized&lt;/span&gt;&lt;/td&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:0 1pt"/&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gains&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Market Value&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Short-Term Investments:&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Certificate of Deposit&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,500,543&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,227&#160;&lt;/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:'Arial',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:'Arial',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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,507,770&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate Bonds&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,994,639&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,801&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,018,440&#160;&lt;/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="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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,897,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:'Arial',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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,897,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-Term Investments:&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 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Asset-backed Securities&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,352,630&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,771&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(587,888)&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,799,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Certificate of Deposit&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,001,714&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,996&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,056,710&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate Bonds&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,716,866&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;168,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;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(530,353)&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,354,929&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Government Securities&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,385,672&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;55,939&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(497,575)&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,944,036&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Municipal Bonds&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;72,175,568&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,747,964&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(203,052)&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;74,720,480&#160;&lt;/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:'Arial',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 #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;195,025,034&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;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;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,093,114&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;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;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,818,868)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;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;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;196,299,280&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;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:UnrealizedGainLossOnInvestmentsTableTextBlock>
    <us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent
      contextRef="i97389837da0c4d9c9d1b2bb9b8435dc7_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjZhYmJlOTNkYjk0MTQwNTM4MDJmZmUzYWEzYjQ5NWQ1L3RhYmxlcmFuZ2U6NmFiYmU5M2RiOTQxNDA1MzgwMmZmZTNhYTNiNDk1ZDVfMy0xLTEtMS0zODU5Mg_63a22ac4-d97a-4534-a49c-1e59da17cc05"
      unitRef="usd">1750990</us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i97389837da0c4d9c9d1b2bb9b8435dc7_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjZhYmJlOTNkYjk0MTQwNTM4MDJmZmUzYWEzYjQ5NWQ1L3RhYmxlcmFuZ2U6NmFiYmU5M2RiOTQxNDA1MzgwMmZmZTNhYTNiNDk1ZDVfMy0zLTEtMS0zODU5Mg_720a5c51-2072-4af7-9446-a4f26bebe4e6"
      unitRef="usd">4098</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i97389837da0c4d9c9d1b2bb9b8435dc7_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjZhYmJlOTNkYjk0MTQwNTM4MDJmZmUzYWEzYjQ5NWQ1L3RhYmxlcmFuZ2U6NmFiYmU5M2RiOTQxNDA1MzgwMmZmZTNhYTNiNDk1ZDVfMy01LTEtMS0zODU5Mg_377b0e80-0fd5-4593-8fa1-ac962d8f9764"
      unitRef="usd">2158</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i97389837da0c4d9c9d1b2bb9b8435dc7_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjZhYmJlOTNkYjk0MTQwNTM4MDJmZmUzYWEzYjQ5NWQ1L3RhYmxlcmFuZ2U6NmFiYmU5M2RiOTQxNDA1MzgwMmZmZTNhYTNiNDk1ZDVfMy03LTEtMS0zODU5Mg_47945df2-c125-4398-aaf1-5d19d3643107"
      unitRef="usd">1752930</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent
      contextRef="i080730588bf74aaa8f750d31a591aa89_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjZhYmJlOTNkYjk0MTQwNTM4MDJmZmUzYWEzYjQ5NWQ1L3RhYmxlcmFuZ2U6NmFiYmU5M2RiOTQxNDA1MzgwMmZmZTNhYTNiNDk1ZDVfNC0xLTEtMS0zODU5Mg_56eb1a68-662e-4865-8106-1ef6d257f9b2"
      unitRef="usd">5630319</us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i080730588bf74aaa8f750d31a591aa89_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjZhYmJlOTNkYjk0MTQwNTM4MDJmZmUzYWEzYjQ5NWQ1L3RhYmxlcmFuZ2U6NmFiYmU5M2RiOTQxNDA1MzgwMmZmZTNhYTNiNDk1ZDVfNC0zLTEtMS0zODU5Mg_6671f293-dd18-46cd-97a2-ba274a202d4f"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i080730588bf74aaa8f750d31a591aa89_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjZhYmJlOTNkYjk0MTQwNTM4MDJmZmUzYWEzYjQ5NWQ1L3RhYmxlcmFuZ2U6NmFiYmU5M2RiOTQxNDA1MzgwMmZmZTNhYTNiNDk1ZDVfNC01LTEtMS0zODU5Mg_a299798a-f8f1-467b-b2ba-147ced3650d8"
      unitRef="usd">163000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i080730588bf74aaa8f750d31a591aa89_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjZhYmJlOTNkYjk0MTQwNTM4MDJmZmUzYWEzYjQ5NWQ1L3RhYmxlcmFuZ2U6NmFiYmU5M2RiOTQxNDA1MzgwMmZmZTNhYTNiNDk1ZDVfNC03LTEtMS0zODU5Mg_16109f99-129b-45d5-b1e5-2d7d0192dae2"
      unitRef="usd">5467319</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent
      contextRef="i07771cf5448c44338d97b3bd1914679c_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjZhYmJlOTNkYjk0MTQwNTM4MDJmZmUzYWEzYjQ5NWQ1L3RhYmxlcmFuZ2U6NmFiYmU5M2RiOTQxNDA1MzgwMmZmZTNhYTNiNDk1ZDVfNi0xLTEtMS0zODU5Mg_5d251885-e1e4-4af0-9951-3a87e4304ad6"
      unitRef="usd">1740477</us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i07771cf5448c44338d97b3bd1914679c_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjZhYmJlOTNkYjk0MTQwNTM4MDJmZmUzYWEzYjQ5NWQ1L3RhYmxlcmFuZ2U6NmFiYmU5M2RiOTQxNDA1MzgwMmZmZTNhYTNiNDk1ZDVfNi0zLTEtMS0zODU5Mg_8d301aeb-ab30-475e-9f44-ece82bf0fe4c"
      unitRef="usd">760</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i07771cf5448c44338d97b3bd1914679c_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjZhYmJlOTNkYjk0MTQwNTM4MDJmZmUzYWEzYjQ5NWQ1L3RhYmxlcmFuZ2U6NmFiYmU5M2RiOTQxNDA1MzgwMmZmZTNhYTNiNDk1ZDVfNi01LTEtMS0zODU5Mg_2cd4247e-822c-473d-b8ac-391df1d14fd5"
      unitRef="usd">12165</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i07771cf5448c44338d97b3bd1914679c_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjZhYmJlOTNkYjk0MTQwNTM4MDJmZmUzYWEzYjQ5NWQ1L3RhYmxlcmFuZ2U6NmFiYmU5M2RiOTQxNDA1MzgwMmZmZTNhYTNiNDk1ZDVfNi03LTEtMS0zODU5Mg_26e52b61-0548-411e-a699-882b4de5f93a"
      unitRef="usd">1729072</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent
      contextRef="i533462e05d28481994c1b15403c59695_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjZhYmJlOTNkYjk0MTQwNTM4MDJmZmUzYWEzYjQ5NWQ1L3RhYmxlcmFuZ2U6NmFiYmU5M2RiOTQxNDA1MzgwMmZmZTNhYTNiNDk1ZDVfNy0xLTEtMS0zODU5Mg_b97ae545-c750-4637-bb2c-5a91b763ebf7"
      unitRef="usd">3042833</us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i533462e05d28481994c1b15403c59695_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjZhYmJlOTNkYjk0MTQwNTM4MDJmZmUzYWEzYjQ5NWQ1L3RhYmxlcmFuZ2U6NmFiYmU5M2RiOTQxNDA1MzgwMmZmZTNhYTNiNDk1ZDVfNy0zLTEtMS0zODU5Mg_fb2df2a7-3293-4d52-b80c-8e8f9838afb7"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i533462e05d28481994c1b15403c59695_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjZhYmJlOTNkYjk0MTQwNTM4MDJmZmUzYWEzYjQ5NWQ1L3RhYmxlcmFuZ2U6NmFiYmU5M2RiOTQxNDA1MzgwMmZmZTNhYTNiNDk1ZDVfNy01LTEtMS0zODU5Mg_91bd3a28-d753-4f52-a065-0057f1cd4e19"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i533462e05d28481994c1b15403c59695_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjZhYmJlOTNkYjk0MTQwNTM4MDJmZmUzYWEzYjQ5NWQ1L3RhYmxlcmFuZ2U6NmFiYmU5M2RiOTQxNDA1MzgwMmZmZTNhYTNiNDk1ZDVfNy03LTEtMS0zODU5Mg_50422ee3-c826-48b0-94d2-d665c84f7698"
      unitRef="usd">3042833</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent
      contextRef="i7b392cf622954c4c996c677b86595f1f_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjZhYmJlOTNkYjk0MTQwNTM4MDJmZmUzYWEzYjQ5NWQ1L3RhYmxlcmFuZ2U6NmFiYmU5M2RiOTQxNDA1MzgwMmZmZTNhYTNiNDk1ZDVfOS0xLTEtMS0zODU5Mg_7d8fa25f-04f2-431a-84ee-1f0ee092668c"
      unitRef="usd">24055501</us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i7b392cf622954c4c996c677b86595f1f_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjZhYmJlOTNkYjk0MTQwNTM4MDJmZmUzYWEzYjQ5NWQ1L3RhYmxlcmFuZ2U6NmFiYmU5M2RiOTQxNDA1MzgwMmZmZTNhYTNiNDk1ZDVfOS0zLTEtMS0zODU5Mg_67f64dfa-568d-4169-bdeb-691423ea61d2"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i7b392cf622954c4c996c677b86595f1f_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjZhYmJlOTNkYjk0MTQwNTM4MDJmZmUzYWEzYjQ5NWQ1L3RhYmxlcmFuZ2U6NmFiYmU5M2RiOTQxNDA1MzgwMmZmZTNhYTNiNDk1ZDVfOS01LTEtMS0zODU5Mg_3dca6691-a401-47a9-8a69-8d34129ddee8"
      unitRef="usd">698804</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i7b392cf622954c4c996c677b86595f1f_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjZhYmJlOTNkYjk0MTQwNTM4MDJmZmUzYWEzYjQ5NWQ1L3RhYmxlcmFuZ2U6NmFiYmU5M2RiOTQxNDA1MzgwMmZmZTNhYTNiNDk1ZDVfOS03LTEtMS0zODU5Mg_e2c6e90e-e0a3-4c43-951e-9670f1bf167e"
      unitRef="usd">23356697</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent
      contextRef="ibaa5223540e5439288527f8cd23c3cdf_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjZhYmJlOTNkYjk0MTQwNTM4MDJmZmUzYWEzYjQ5NWQ1L3RhYmxlcmFuZ2U6NmFiYmU5M2RiOTQxNDA1MzgwMmZmZTNhYTNiNDk1ZDVfMTAtMS0xLTEtMzg1OTI_f829878f-e30d-4c73-a979-7763477b739f"
      unitRef="usd">750000</us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="ibaa5223540e5439288527f8cd23c3cdf_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjZhYmJlOTNkYjk0MTQwNTM4MDJmZmUzYWEzYjQ5NWQ1L3RhYmxlcmFuZ2U6NmFiYmU5M2RiOTQxNDA1MzgwMmZmZTNhYTNiNDk1ZDVfMTAtMy0xLTEtMzg1OTI_62f7ae12-15cd-438c-90b8-26bd7e54ca0d"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="ibaa5223540e5439288527f8cd23c3cdf_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjZhYmJlOTNkYjk0MTQwNTM4MDJmZmUzYWEzYjQ5NWQ1L3RhYmxlcmFuZ2U6NmFiYmU5M2RiOTQxNDA1MzgwMmZmZTNhYTNiNDk1ZDVfMTAtNS0xLTEtMzg1OTI_4b28b8e8-9e25-41ca-bfb6-1b87a7119190"
      unitRef="usd">14103</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="ibaa5223540e5439288527f8cd23c3cdf_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjZhYmJlOTNkYjk0MTQwNTM4MDJmZmUzYWEzYjQ5NWQ1L3RhYmxlcmFuZ2U6NmFiYmU5M2RiOTQxNDA1MzgwMmZmZTNhYTNiNDk1ZDVfMTAtNy0xLTEtMzg1OTI_609fc806-577b-4cf4-a908-a637f953ca14"
      unitRef="usd">735897</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent
      contextRef="i7c6a8e95d8e444d0986a3dcb9ff84d68_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjZhYmJlOTNkYjk0MTQwNTM4MDJmZmUzYWEzYjQ5NWQ1L3RhYmxlcmFuZ2U6NmFiYmU5M2RiOTQxNDA1MzgwMmZmZTNhYTNiNDk1ZDVfMTEtMS0xLTEtMzg1OTI_a2af5fc6-cfd8-40db-8a83-93aff774795e"
      unitRef="usd">37765445</us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i7c6a8e95d8e444d0986a3dcb9ff84d68_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjZhYmJlOTNkYjk0MTQwNTM4MDJmZmUzYWEzYjQ5NWQ1L3RhYmxlcmFuZ2U6NmFiYmU5M2RiOTQxNDA1MzgwMmZmZTNhYTNiNDk1ZDVfMTEtMy0xLTEtMzg1OTI_b82b9f40-d81a-4f07-abaa-baa9ec1594cd"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i7c6a8e95d8e444d0986a3dcb9ff84d68_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjZhYmJlOTNkYjk0MTQwNTM4MDJmZmUzYWEzYjQ5NWQ1L3RhYmxlcmFuZ2U6NmFiYmU5M2RiOTQxNDA1MzgwMmZmZTNhYTNiNDk1ZDVfMTEtNS0xLTEtMzg1OTI_0664b164-60f8-43d8-9ce2-7c2bbfe2d205"
      unitRef="usd">3587364</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i7c6a8e95d8e444d0986a3dcb9ff84d68_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjZhYmJlOTNkYjk0MTQwNTM4MDJmZmUzYWEzYjQ5NWQ1L3RhYmxlcmFuZ2U6NmFiYmU5M2RiOTQxNDA1MzgwMmZmZTNhYTNiNDk1ZDVfMTEtNy0xLTEtMzg1OTI_5f89e2b3-6629-4f7d-9d07-57a8e1cae6dc"
      unitRef="usd">34178081</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent
      contextRef="i3aa89d68ec824d4e80a9bcbf62b948ea_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjZhYmJlOTNkYjk0MTQwNTM4MDJmZmUzYWEzYjQ5NWQ1L3RhYmxlcmFuZ2U6NmFiYmU5M2RiOTQxNDA1MzgwMmZmZTNhYTNiNDk1ZDVfMTItMS0xLTEtMzg1OTI_f8e9cbfa-e64b-48aa-b107-221664e111a2"
      unitRef="usd">41238181</us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i3aa89d68ec824d4e80a9bcbf62b948ea_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjZhYmJlOTNkYjk0MTQwNTM4MDJmZmUzYWEzYjQ5NWQ1L3RhYmxlcmFuZ2U6NmFiYmU5M2RiOTQxNDA1MzgwMmZmZTNhYTNiNDk1ZDVfMTItMy0xLTEtMzg1OTI_e2a6a814-7dcf-4f18-9736-9dffab14d002"
      unitRef="usd">2361</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i3aa89d68ec824d4e80a9bcbf62b948ea_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjZhYmJlOTNkYjk0MTQwNTM4MDJmZmUzYWEzYjQ5NWQ1L3RhYmxlcmFuZ2U6NmFiYmU5M2RiOTQxNDA1MzgwMmZmZTNhYTNiNDk1ZDVfMTItNS0xLTEtMzg1OTI_64606084-2144-43fd-9b86-4ca79b5eafea"
      unitRef="usd">2338974</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i3aa89d68ec824d4e80a9bcbf62b948ea_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjZhYmJlOTNkYjk0MTQwNTM4MDJmZmUzYWEzYjQ5NWQ1L3RhYmxlcmFuZ2U6NmFiYmU5M2RiOTQxNDA1MzgwMmZmZTNhYTNiNDk1ZDVfMTItNy0xLTEtMzg1OTI_1b85869b-2af6-41d8-b328-2df51b19b4da"
      unitRef="usd">38901568</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent
      contextRef="i642fbba9010e4461a6efd8e072d8c036_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjZhYmJlOTNkYjk0MTQwNTM4MDJmZmUzYWEzYjQ5NWQ1L3RhYmxlcmFuZ2U6NmFiYmU5M2RiOTQxNDA1MzgwMmZmZTNhYTNiNDk1ZDVfMTMtMS0xLTEtMzg1OTI_bc917dfe-c401-412e-ac8c-bee3666d4b38"
      unitRef="usd">56098534</us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i642fbba9010e4461a6efd8e072d8c036_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjZhYmJlOTNkYjk0MTQwNTM4MDJmZmUzYWEzYjQ5NWQ1L3RhYmxlcmFuZ2U6NmFiYmU5M2RiOTQxNDA1MzgwMmZmZTNhYTNiNDk1ZDVfMTMtMy0xLTEtMzg1OTI_e5861eb9-c70a-4835-a184-2f47eaee2cee"
      unitRef="usd">188395</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i642fbba9010e4461a6efd8e072d8c036_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjZhYmJlOTNkYjk0MTQwNTM4MDJmZmUzYWEzYjQ5NWQ1L3RhYmxlcmFuZ2U6NmFiYmU5M2RiOTQxNDA1MzgwMmZmZTNhYTNiNDk1ZDVfMTMtNS0xLTEtMzg1OTI_62e3afb2-f078-4403-9fc9-7b3692e1bc07"
      unitRef="usd">3314137</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i642fbba9010e4461a6efd8e072d8c036_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjZhYmJlOTNkYjk0MTQwNTM4MDJmZmUzYWEzYjQ5NWQ1L3RhYmxlcmFuZ2U6NmFiYmU5M2RiOTQxNDA1MzgwMmZmZTNhYTNiNDk1ZDVfMTMtNy0xLTEtMzg1OTI_5324cdd4-b7a3-4fd6-b377-5c42c0010312"
      unitRef="usd">52972792</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjZhYmJlOTNkYjk0MTQwNTM4MDJmZmUzYWEzYjQ5NWQ1L3RhYmxlcmFuZ2U6NmFiYmU5M2RiOTQxNDA1MzgwMmZmZTNhYTNiNDk1ZDVfMTQtMS0xLTEtMzg1OTI_c0777e0d-c86b-4f94-9e6f-544fb4a50535"
      unitRef="usd">172072280</us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjZhYmJlOTNkYjk0MTQwNTM4MDJmZmUzYWEzYjQ5NWQ1L3RhYmxlcmFuZ2U6NmFiYmU5M2RiOTQxNDA1MzgwMmZmZTNhYTNiNDk1ZDVfMTQtMy0xLTEtMzg1OTI_1aeed899-1ed8-40d9-88cb-ce3ea678a847"
      unitRef="usd">195614</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjZhYmJlOTNkYjk0MTQwNTM4MDJmZmUzYWEzYjQ5NWQ1L3RhYmxlcmFuZ2U6NmFiYmU5M2RiOTQxNDA1MzgwMmZmZTNhYTNiNDk1ZDVfMTQtNS0xLTEtMzg1OTI_a3641a96-ead4-403d-849f-e3aab5260e87"
      unitRef="usd">10130705</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjZhYmJlOTNkYjk0MTQwNTM4MDJmZmUzYWEzYjQ5NWQ1L3RhYmxlcmFuZ2U6NmFiYmU5M2RiOTQxNDA1MzgwMmZmZTNhYTNiNDk1ZDVfMTQtNy0xLTEtMzg1OTI_6bc01910-ba3a-496c-be73-474ee91d98e1"
      unitRef="usd">162137189</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent
      contextRef="i36f5e9118df34f03a948fd0389b6774f_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjI3YjRmMTcyMmQzOTQyNjFiY2IwOTFkMGI1ZjkzMTFhL3RhYmxlcmFuZ2U6MjdiNGYxNzIyZDM5NDI2MWJjYjA5MWQwYjVmOTMxMWFfMy0xLTEtMS0zODU5Mg_1ef52668-1f74-4a65-9de5-42377da30a07"
      unitRef="usd">1500543</us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i36f5e9118df34f03a948fd0389b6774f_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjI3YjRmMTcyMmQzOTQyNjFiY2IwOTFkMGI1ZjkzMTFhL3RhYmxlcmFuZ2U6MjdiNGYxNzIyZDM5NDI2MWJjYjA5MWQwYjVmOTMxMWFfMy0zLTEtMS0zODU5Mg_a5f4c925-14cd-4c5e-be55-9ae4430fdbc3"
      unitRef="usd">7227</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i36f5e9118df34f03a948fd0389b6774f_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjI3YjRmMTcyMmQzOTQyNjFiY2IwOTFkMGI1ZjkzMTFhL3RhYmxlcmFuZ2U6MjdiNGYxNzIyZDM5NDI2MWJjYjA5MWQwYjVmOTMxMWFfMy01LTEtMS0zODU5Mg_3adad83e-bb9c-4f1f-8964-4c2af835f70d"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i36f5e9118df34f03a948fd0389b6774f_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjI3YjRmMTcyMmQzOTQyNjFiY2IwOTFkMGI1ZjkzMTFhL3RhYmxlcmFuZ2U6MjdiNGYxNzIyZDM5NDI2MWJjYjA5MWQwYjVmOTMxMWFfMy03LTEtMS0zODU5Mg_c7255303-c35b-4a69-87a2-5db74cdea549"
      unitRef="usd">1507770</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent
      contextRef="i10b89df48bf54d319bf721e64d9d0fcc_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjI3YjRmMTcyMmQzOTQyNjFiY2IwOTFkMGI1ZjkzMTFhL3RhYmxlcmFuZ2U6MjdiNGYxNzIyZDM5NDI2MWJjYjA5MWQwYjVmOTMxMWFfNC0xLTEtMS0zODU5Mg_8ed12867-a1d2-477b-9d18-576565c32953"
      unitRef="usd">1994639</us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i10b89df48bf54d319bf721e64d9d0fcc_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjI3YjRmMTcyMmQzOTQyNjFiY2IwOTFkMGI1ZjkzMTFhL3RhYmxlcmFuZ2U6MjdiNGYxNzIyZDM5NDI2MWJjYjA5MWQwYjVmOTMxMWFfNC0zLTEtMS0zODU5Mg_7f8c63a2-92e6-4600-94e1-9cb6cc96896c"
      unitRef="usd">23801</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i10b89df48bf54d319bf721e64d9d0fcc_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjI3YjRmMTcyMmQzOTQyNjFiY2IwOTFkMGI1ZjkzMTFhL3RhYmxlcmFuZ2U6MjdiNGYxNzIyZDM5NDI2MWJjYjA5MWQwYjVmOTMxMWFfNC01LTEtMS0zODU5Mg_d250aa66-dfa8-46f4-ac9a-fa8a8f44ef9a"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i10b89df48bf54d319bf721e64d9d0fcc_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjI3YjRmMTcyMmQzOTQyNjFiY2IwOTFkMGI1ZjkzMTFhL3RhYmxlcmFuZ2U6MjdiNGYxNzIyZDM5NDI2MWJjYjA5MWQwYjVmOTMxMWFfNC03LTEtMS0zODU5Mg_14f74d94-6282-4340-bc70-77665b53639f"
      unitRef="usd">2018440</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent
      contextRef="i9106a241601c4e978cb2bdb62bc13a00_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjI3YjRmMTcyMmQzOTQyNjFiY2IwOTFkMGI1ZjkzMTFhL3RhYmxlcmFuZ2U6MjdiNGYxNzIyZDM5NDI2MWJjYjA5MWQwYjVmOTMxMWFfNy0xLTEtMS0zODU5Mg_085597f0-3b04-4b36-aa62-9a2c909972e3"
      unitRef="usd">1897402</us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i9106a241601c4e978cb2bdb62bc13a00_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjI3YjRmMTcyMmQzOTQyNjFiY2IwOTFkMGI1ZjkzMTFhL3RhYmxlcmFuZ2U6MjdiNGYxNzIyZDM5NDI2MWJjYjA5MWQwYjVmOTMxMWFfNy0zLTEtMS0zODU5Mg_05cd866f-0668-424c-9133-3b9063847a55"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i9106a241601c4e978cb2bdb62bc13a00_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjI3YjRmMTcyMmQzOTQyNjFiY2IwOTFkMGI1ZjkzMTFhL3RhYmxlcmFuZ2U6MjdiNGYxNzIyZDM5NDI2MWJjYjA5MWQwYjVmOTMxMWFfNy01LTEtMS0zODU5Mg_795e2f3e-a445-4220-b59c-cc81551c3300"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i9106a241601c4e978cb2bdb62bc13a00_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjI3YjRmMTcyMmQzOTQyNjFiY2IwOTFkMGI1ZjkzMTFhL3RhYmxlcmFuZ2U6MjdiNGYxNzIyZDM5NDI2MWJjYjA5MWQwYjVmOTMxMWFfNy03LTEtMS0zODU5Mg_a9d23216-d8b7-4cef-acc8-415f080cef6c"
      unitRef="usd">1897402</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent
      contextRef="i36be01de81994e688c4e656f37f1fd31_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjI3YjRmMTcyMmQzOTQyNjFiY2IwOTFkMGI1ZjkzMTFhL3RhYmxlcmFuZ2U6MjdiNGYxNzIyZDM5NDI2MWJjYjA5MWQwYjVmOTMxMWFfOS0xLTEtMS0zODU5Mg_964499fa-f6ae-4bf6-997c-314c3a508f3e"
      unitRef="usd">26352630</us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i36be01de81994e688c4e656f37f1fd31_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjI3YjRmMTcyMmQzOTQyNjFiY2IwOTFkMGI1ZjkzMTFhL3RhYmxlcmFuZ2U6MjdiNGYxNzIyZDM5NDI2MWJjYjA5MWQwYjVmOTMxMWFfOS0zLTEtMS0zODU5Mg_e2f1a483-b414-497f-951d-6b581638cd4a"
      unitRef="usd">34771</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i36be01de81994e688c4e656f37f1fd31_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjI3YjRmMTcyMmQzOTQyNjFiY2IwOTFkMGI1ZjkzMTFhL3RhYmxlcmFuZ2U6MjdiNGYxNzIyZDM5NDI2MWJjYjA5MWQwYjVmOTMxMWFfOS01LTEtMS0zODU5Mg_b6f959a2-8a7f-4403-8d27-e644b141f43c"
      unitRef="usd">587888</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i36be01de81994e688c4e656f37f1fd31_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjI3YjRmMTcyMmQzOTQyNjFiY2IwOTFkMGI1ZjkzMTFhL3RhYmxlcmFuZ2U6MjdiNGYxNzIyZDM5NDI2MWJjYjA5MWQwYjVmOTMxMWFfOS03LTEtMS0zODU5Mg_03e1b8e2-0de9-4c1c-b4cf-8973893b0229"
      unitRef="usd">25799513</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent
      contextRef="i2b35137fda1247bf812a4e720728e6f9_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjI3YjRmMTcyMmQzOTQyNjFiY2IwOTFkMGI1ZjkzMTFhL3RhYmxlcmFuZ2U6MjdiNGYxNzIyZDM5NDI2MWJjYjA5MWQwYjVmOTMxMWFfMTAtMS0xLTEtMzg1OTI_d2d43c00-0330-471e-a51d-55338f2785a8"
      unitRef="usd">2001714</us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i2b35137fda1247bf812a4e720728e6f9_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjI3YjRmMTcyMmQzOTQyNjFiY2IwOTFkMGI1ZjkzMTFhL3RhYmxlcmFuZ2U6MjdiNGYxNzIyZDM5NDI2MWJjYjA5MWQwYjVmOTMxMWFfMTAtMy0xLTEtMzg1OTI_ed578bdf-53f6-4931-9b9b-adf17ef36934"
      unitRef="usd">54996</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i2b35137fda1247bf812a4e720728e6f9_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjI3YjRmMTcyMmQzOTQyNjFiY2IwOTFkMGI1ZjkzMTFhL3RhYmxlcmFuZ2U6MjdiNGYxNzIyZDM5NDI2MWJjYjA5MWQwYjVmOTMxMWFfMTAtNS0xLTEtMzg1OTI_669bbaaf-5840-44c3-a8bc-5029cd51b50e"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i2b35137fda1247bf812a4e720728e6f9_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjI3YjRmMTcyMmQzOTQyNjFiY2IwOTFkMGI1ZjkzMTFhL3RhYmxlcmFuZ2U6MjdiNGYxNzIyZDM5NDI2MWJjYjA5MWQwYjVmOTMxMWFfMTAtNy0xLTEtMzg1OTI_3879b0e7-fd7c-40ba-94c0-0d866024e19d"
      unitRef="usd">2056710</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent
      contextRef="i99182ed4ae9146ddac1a19dc53382070_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjI3YjRmMTcyMmQzOTQyNjFiY2IwOTFkMGI1ZjkzMTFhL3RhYmxlcmFuZ2U6MjdiNGYxNzIyZDM5NDI2MWJjYjA5MWQwYjVmOTMxMWFfMTEtMS0xLTEtMzg1OTI_a1152831-9f2b-455a-8fb9-1224c4a7f50c"
      unitRef="usd">40716866</us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i99182ed4ae9146ddac1a19dc53382070_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjI3YjRmMTcyMmQzOTQyNjFiY2IwOTFkMGI1ZjkzMTFhL3RhYmxlcmFuZ2U6MjdiNGYxNzIyZDM5NDI2MWJjYjA5MWQwYjVmOTMxMWFfMTEtMy0xLTEtMzg1OTI_57500362-7d1a-45d0-87d1-4a662d142da7"
      unitRef="usd">168416</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i99182ed4ae9146ddac1a19dc53382070_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjI3YjRmMTcyMmQzOTQyNjFiY2IwOTFkMGI1ZjkzMTFhL3RhYmxlcmFuZ2U6MjdiNGYxNzIyZDM5NDI2MWJjYjA5MWQwYjVmOTMxMWFfMTEtNS0xLTEtMzg1OTI_bfe59103-16e5-46c9-9b79-edecede65933"
      unitRef="usd">530353</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i99182ed4ae9146ddac1a19dc53382070_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjI3YjRmMTcyMmQzOTQyNjFiY2IwOTFkMGI1ZjkzMTFhL3RhYmxlcmFuZ2U6MjdiNGYxNzIyZDM5NDI2MWJjYjA5MWQwYjVmOTMxMWFfMTEtNy0xLTEtMzg1OTI_bf374508-37c0-4d5f-b3c9-58a5850eaf86"
      unitRef="usd">40354929</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent
      contextRef="i71089d91006b414b9973397d7caf973c_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjI3YjRmMTcyMmQzOTQyNjFiY2IwOTFkMGI1ZjkzMTFhL3RhYmxlcmFuZ2U6MjdiNGYxNzIyZDM5NDI2MWJjYjA5MWQwYjVmOTMxMWFfMTItMS0xLTEtMzg1OTI_032195f0-b28d-4dfb-bbbb-4f0032151a0c"
      unitRef="usd">48385672</us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i71089d91006b414b9973397d7caf973c_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjI3YjRmMTcyMmQzOTQyNjFiY2IwOTFkMGI1ZjkzMTFhL3RhYmxlcmFuZ2U6MjdiNGYxNzIyZDM5NDI2MWJjYjA5MWQwYjVmOTMxMWFfMTItMy0xLTEtMzg1OTI_ef5c83a2-ed0e-4686-bab4-763a37bce4d2"
      unitRef="usd">55939</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i71089d91006b414b9973397d7caf973c_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjI3YjRmMTcyMmQzOTQyNjFiY2IwOTFkMGI1ZjkzMTFhL3RhYmxlcmFuZ2U6MjdiNGYxNzIyZDM5NDI2MWJjYjA5MWQwYjVmOTMxMWFfMTItNS0xLTEtMzg1OTI_65ed4f8c-d2a6-4062-aa4e-c66268bd483d"
      unitRef="usd">497575</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i71089d91006b414b9973397d7caf973c_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjI3YjRmMTcyMmQzOTQyNjFiY2IwOTFkMGI1ZjkzMTFhL3RhYmxlcmFuZ2U6MjdiNGYxNzIyZDM5NDI2MWJjYjA5MWQwYjVmOTMxMWFfMTItNy0xLTEtMzg1OTI_b49dff25-a281-47f4-9591-2f93535826ec"
      unitRef="usd">47944036</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent
      contextRef="ibe333fa0f3dd42c798200d43e506eff4_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjI3YjRmMTcyMmQzOTQyNjFiY2IwOTFkMGI1ZjkzMTFhL3RhYmxlcmFuZ2U6MjdiNGYxNzIyZDM5NDI2MWJjYjA5MWQwYjVmOTMxMWFfMTMtMS0xLTEtMzg1OTI_ce2c3715-fbeb-4b37-8df0-9f6cccaad08a"
      unitRef="usd">72175568</us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="ibe333fa0f3dd42c798200d43e506eff4_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjI3YjRmMTcyMmQzOTQyNjFiY2IwOTFkMGI1ZjkzMTFhL3RhYmxlcmFuZ2U6MjdiNGYxNzIyZDM5NDI2MWJjYjA5MWQwYjVmOTMxMWFfMTMtMy0xLTEtMzg1OTI_dfa40e0f-df72-4804-acf8-881ce56c8500"
      unitRef="usd">2747964</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="ibe333fa0f3dd42c798200d43e506eff4_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjI3YjRmMTcyMmQzOTQyNjFiY2IwOTFkMGI1ZjkzMTFhL3RhYmxlcmFuZ2U6MjdiNGYxNzIyZDM5NDI2MWJjYjA5MWQwYjVmOTMxMWFfMTMtNS0xLTEtMzg1OTI_42aa3c17-f7c8-4e6f-a135-156ba0f41686"
      unitRef="usd">203052</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="ibe333fa0f3dd42c798200d43e506eff4_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjI3YjRmMTcyMmQzOTQyNjFiY2IwOTFkMGI1ZjkzMTFhL3RhYmxlcmFuZ2U6MjdiNGYxNzIyZDM5NDI2MWJjYjA5MWQwYjVmOTMxMWFfMTMtNy0xLTEtMzg1OTI_378e2c5d-e843-49ef-bcd3-9b4eebbe19ef"
      unitRef="usd">74720480</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjI3YjRmMTcyMmQzOTQyNjFiY2IwOTFkMGI1ZjkzMTFhL3RhYmxlcmFuZ2U6MjdiNGYxNzIyZDM5NDI2MWJjYjA5MWQwYjVmOTMxMWFfMTQtMS0xLTEtMzg1OTI_561be63b-ca9f-42e2-b01f-767d700cbc39"
      unitRef="usd">195025034</us-gaap:DebtSecuritiesAvailableForSaleAmortizedCostCurrent>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjI3YjRmMTcyMmQzOTQyNjFiY2IwOTFkMGI1ZjkzMTFhL3RhYmxlcmFuZ2U6MjdiNGYxNzIyZDM5NDI2MWJjYjA5MWQwYjVmOTMxMWFfMTQtMy0xLTEtMzg1OTI_5967485f-81e1-4c54-90a9-32a5421e36ad"
      unitRef="usd">3093114</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjI3YjRmMTcyMmQzOTQyNjFiY2IwOTFkMGI1ZjkzMTFhL3RhYmxlcmFuZ2U6MjdiNGYxNzIyZDM5NDI2MWJjYjA5MWQwYjVmOTMxMWFfMTQtNS0xLTEtMzg1OTI_3ea6367a-b06b-4efb-b658-54d025c7aec1"
      unitRef="usd">1818868</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjI3YjRmMTcyMmQzOTQyNjFiY2IwOTFkMGI1ZjkzMTFhL3RhYmxlcmFuZ2U6MjdiNGYxNzIyZDM5NDI2MWJjYjA5MWQwYjVmOTMxMWFfMTQtNy0xLTEtMzg1OTI_63d2156d-26bc-4186-be69-0116a55c8357"
      unitRef="usd">196299280</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RleHRyZWdpb246NDI4YmE2ODQyMzE0NDg3OWI1OGE3MmUxOTkxOTVkNjVfMzI3MQ_eaa413e1-1539-4cce-ac57-96c057a4980d">&lt;div style="padding-left:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Unrealized losses on investments as of June 30, 2022, are as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:92.543%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.563%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.541%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.589%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.807%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Aggregate&#160;Unrealized&#160;Losses&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Aggregate&#160;Fair&#160;Value of Investments&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Loss duration of less than one year&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,893,651&#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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;143,233,962&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Loss duration of greater than one year&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,237,054&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,273,913&#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&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Total&lt;/span&gt;&lt;/div&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,130,705&#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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;152,507,875&#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:9pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;padding-left:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Unrealized losses on investments as of December 31, 2021, are as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:92.543%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.247%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.857%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.589%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.807%"/&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:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Aggregate&#160;Unrealized&#160;Losses&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Aggregate&#160;Fair&#160;Value of Investments&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Loss duration of less than one year&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,244,053&#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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;94,417,123&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Loss duration of greater than one year&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;574,815&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,875,230&#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&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Total&lt;/span&gt;&lt;/div&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,818,868&#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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;101,292,353&#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:DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmU0MjUwYmI5NDBkYTQ4MDE4NTQwYTg3ZTBhYTVlODI3L3RhYmxlcmFuZ2U6ZTQyNTBiYjk0MGRhNDgwMTg1NDBhODdlMGFhNWU4MjdfMS0xLTEtMS0zODU5Mg_d3a0e8a2-76ef-43df-8e4a-1a3fbde91c1a"
      unitRef="usd">8893651</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmU0MjUwYmI5NDBkYTQ4MDE4NTQwYTg3ZTBhYTVlODI3L3RhYmxlcmFuZ2U6ZTQyNTBiYjk0MGRhNDgwMTg1NDBhODdlMGFhNWU4MjdfMS0zLTEtMS0zODU5Mg_3ad8d4fe-296c-4d8b-89fb-f879639e2b6f"
      unitRef="usd">143233962</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmU0MjUwYmI5NDBkYTQ4MDE4NTQwYTg3ZTBhYTVlODI3L3RhYmxlcmFuZ2U6ZTQyNTBiYjk0MGRhNDgwMTg1NDBhODdlMGFhNWU4MjdfMi0xLTEtMS0zODU5Mg_ba54b834-35a2-4968-9067-ed1e96b0853a"
      unitRef="usd">1237054</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmU0MjUwYmI5NDBkYTQ4MDE4NTQwYTg3ZTBhYTVlODI3L3RhYmxlcmFuZ2U6ZTQyNTBiYjk0MGRhNDgwMTg1NDBhODdlMGFhNWU4MjdfMi0zLTEtMS0zODU5Mg_afdd08b0-85e9-4a61-83a2-8ad48a75566d"
      unitRef="usd">9273913</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmU0MjUwYmI5NDBkYTQ4MDE4NTQwYTg3ZTBhYTVlODI3L3RhYmxlcmFuZ2U6ZTQyNTBiYjk0MGRhNDgwMTg1NDBhODdlMGFhNWU4MjdfMy0xLTEtMS0zODU5Mg_7c970174-9f1a-492c-9a25-4c3c0dc7d13f"
      unitRef="usd">10130705</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmU0MjUwYmI5NDBkYTQ4MDE4NTQwYTg3ZTBhYTVlODI3L3RhYmxlcmFuZ2U6ZTQyNTBiYjk0MGRhNDgwMTg1NDBhODdlMGFhNWU4MjdfMy0zLTEtMS0zODU5Mg_6d895f16-1f51-493a-a6f1-f5b147d188d9"
      unitRef="usd">152507875</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmVhNTU1OTY4ZTI1MzQyMTZiNzI1ODViMjhlYTA5NTlkL3RhYmxlcmFuZ2U6ZWE1NTU5NjhlMjUzNDIxNmI3MjU4NWIyOGVhMDk1OWRfMS0xLTEtMS0zODU5Mg_89940844-20bd-4947-ace1-9dfaf282b7c1"
      unitRef="usd">1244053</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmVhNTU1OTY4ZTI1MzQyMTZiNzI1ODViMjhlYTA5NTlkL3RhYmxlcmFuZ2U6ZWE1NTU5NjhlMjUzNDIxNmI3MjU4NWIyOGVhMDk1OWRfMS0zLTEtMS0zODU5Mg_93377476-f4d6-4c91-9187-a5acefc0288d"
      unitRef="usd">94417123</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmVhNTU1OTY4ZTI1MzQyMTZiNzI1ODViMjhlYTA5NTlkL3RhYmxlcmFuZ2U6ZWE1NTU5NjhlMjUzNDIxNmI3MjU4NWIyOGVhMDk1OWRfMi0xLTEtMS0zODU5Mg_be4b9599-d111-4b69-a0b8-de2a3d3d6b38"
      unitRef="usd">574815</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmVhNTU1OTY4ZTI1MzQyMTZiNzI1ODViMjhlYTA5NTlkL3RhYmxlcmFuZ2U6ZWE1NTU5NjhlMjUzNDIxNmI3MjU4NWIyOGVhMDk1OWRfMi0zLTEtMS0zODU5Mg_451118fa-8a09-4f31-b0d4-2d7acb4a94fe"
      unitRef="usd">6875230</us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmVhNTU1OTY4ZTI1MzQyMTZiNzI1ODViMjhlYTA5NTlkL3RhYmxlcmFuZ2U6ZWE1NTU5NjhlMjUzNDIxNmI3MjU4NWIyOGVhMDk1OWRfMy0xLTEtMS0zODU5Mg_31f4e5c4-1100-44a7-898d-e464f2586b72"
      unitRef="usd">1818868</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss>
    <us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOmVhNTU1OTY4ZTI1MzQyMTZiNzI1ODViMjhlYTA5NTlkL3RhYmxlcmFuZ2U6ZWE1NTU5NjhlMjUzNDIxNmI3MjU4NWIyOGVhMDk1OWRfMy0zLTEtMS0zODU5Mg_700afae8-2e9d-4e21-b4ad-72496eef91a3"
      unitRef="usd">101292353</us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition>
    <us-gaap:ImpairmentOfInvestments
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RleHRyZWdpb246NDI4YmE2ODQyMzE0NDg3OWI1OGE3MmUxOTkxOTVkNjVfMjk4OQ_1eefc61a-ada9-49d6-a291-925a05fe791c"
      unitRef="usd">0</us-gaap:ImpairmentOfInvestments>
    <us-gaap:ImpairmentOfInvestments
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RleHRyZWdpb246NDI4YmE2ODQyMzE0NDg3OWI1OGE3MmUxOTkxOTVkNjVfMjk4OQ_6ea77f04-68cd-4b23-8443-41c970257371"
      unitRef="usd">0</us-gaap:ImpairmentOfInvestments>
    <us-gaap:ImpairmentOfInvestments
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RleHRyZWdpb246NDI4YmE2ODQyMzE0NDg3OWI1OGE3MmUxOTkxOTVkNjVfMjk4OQ_6ed85e3f-e685-492d-ae04-79a71cddc827"
      unitRef="usd">0</us-gaap:ImpairmentOfInvestments>
    <us-gaap:ImpairmentOfInvestments
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RleHRyZWdpb246NDI4YmE2ODQyMzE0NDg3OWI1OGE3MmUxOTkxOTVkNjVfMjk4OQ_7545e3bc-f3dc-49b3-8dab-3d0fc0af1858"
      unitRef="usd">0</us-gaap:ImpairmentOfInvestments>
    <us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RleHRyZWdpb246NDI4YmE2ODQyMzE0NDg3OWI1OGE3MmUxOTkxOTVkNjVfMzI4MQ_9ead1faa-42d5-472a-a552-184ad5ee61bf">&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Fixed income securities as of June 30, 2022 have contractual maturities as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:92.836%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:79.687%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.113%"/&gt;&lt;td style="width:0.1%"/&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&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Due within one year&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,949,321&#160;&lt;/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="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Due between one and five years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;89,732,074&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Due over five years&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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;60,412,961&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;159,094,356&#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;</us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue
      contextRef="ie11a69bf197247aca4408d1b72e29a6f_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjFmNWUxN2VkZTNkOTQxZGE5MzBiMmY3ODI2MzJjNzZlL3RhYmxlcmFuZ2U6MWY1ZTE3ZWRlM2Q5NDFkYTkzMGIyZjc4MjYzMmM3NmVfMC0xLTEtMS0zODU5Mg_8058efeb-e632-4ffe-b02d-ba96bff7970f"
      unitRef="usd">8949321</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue
      contextRef="ie11a69bf197247aca4408d1b72e29a6f_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjFmNWUxN2VkZTNkOTQxZGE5MzBiMmY3ODI2MzJjNzZlL3RhYmxlcmFuZ2U6MWY1ZTE3ZWRlM2Q5NDFkYTkzMGIyZjc4MjYzMmM3NmVfMS0xLTEtMS0zODU5Mg_392afdb3-0484-4624-b84f-c41c37b85232"
      unitRef="usd">89732074</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue>
    <gntx:DebtSecuritiesAvailableForSaleMaturityAllocatedAndSingleMaturityDateAfterFiveYearsFairValue
      contextRef="ie11a69bf197247aca4408d1b72e29a6f_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjFmNWUxN2VkZTNkOTQxZGE5MzBiMmY3ODI2MzJjNzZlL3RhYmxlcmFuZ2U6MWY1ZTE3ZWRlM2Q5NDFkYTkzMGIyZjc4MjYzMmM3NmVfMi0xLTEtMS0zODU5Mg_b75554a1-35e7-4e04-bd47-807fa3a107ba"
      unitRef="usd">60412961</gntx:DebtSecuritiesAvailableForSaleMaturityAllocatedAndSingleMaturityDateAfterFiveYearsFairValue>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ie11a69bf197247aca4408d1b72e29a6f_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80Ni9mcmFnOjQyOGJhNjg0MjMxNDQ4NzliNThhNzJlMTk5MTk1ZDY1L3RhYmxlOjFmNWUxN2VkZTNkOTQxZGE5MzBiMmY3ODI2MzJjNzZlL3RhYmxlcmFuZ2U6MWY1ZTE3ZWRlM2Q5NDFkYTkzMGIyZjc4MjYzMmM3NmVfMy0xLTEtMS0zODU5Mg_68bb0bbd-2266-4629-b8d1-5eb2b0172556"
      unitRef="usd">159094356</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:InventoryDisclosureTextBlock
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80OS9mcmFnOjhlMzM2ODY5ZjljYTQzZmJhMDQ4NzM4OGFkNDA4YTlmL3RleHRyZWdpb246OGUzMzY4NjlmOWNhNDNmYmEwNDg3Mzg4YWQ0MDhhOWZfMTAw_c7a467de-e4ae-44b2-9fe8-10438e70322e">Inventories&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventories consisted of the following at the respective balance sheet dates:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:92.690%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:62.780%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.511%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.588%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.621%"/&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="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;June 30, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31, 2021&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&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Raw materials&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;278,888,521&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#bfe4ff;padding:0 1pt"/&gt;&lt;td style="background-color:#bfe4ff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;235,014,277&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;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;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Work-in-process&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,334,800&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,032,164&#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&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finished goods&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;70,354,504&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,221,001&#160;&lt;/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="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total Inventory&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="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:'Arial',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 #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;392,577,825&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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="padding:0 1pt"/&gt;&lt;td style="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:'Arial',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 #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;316,267,442&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80OS9mcmFnOjhlMzM2ODY5ZjljYTQzZmJhMDQ4NzM4OGFkNDA4YTlmL3RleHRyZWdpb246OGUzMzY4NjlmOWNhNDNmYmEwNDg3Mzg4YWQ0MDhhOWZfOTg_7a8aacb3-e7c3-4258-af6e-ee8da30933ad">&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventories consisted of the following at the respective balance sheet dates:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:92.690%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:62.780%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.511%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.588%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.621%"/&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="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;June 30, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31, 2021&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&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Raw materials&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;278,888,521&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#bfe4ff;padding:0 1pt"/&gt;&lt;td style="background-color:#bfe4ff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;235,014,277&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#bfe4ff;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;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Work-in-process&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,334,800&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,032,164&#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&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finished goods&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;70,354,504&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,221,001&#160;&lt;/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="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total Inventory&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="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:'Arial',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 #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;392,577,825&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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="padding:0 1pt"/&gt;&lt;td style="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:'Arial',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 #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;316,267,442&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterials
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80OS9mcmFnOjhlMzM2ODY5ZjljYTQzZmJhMDQ4NzM4OGFkNDA4YTlmL3RhYmxlOmU0NDNhNTc4YTczZjRlMGZiMmI4Y2I2ZGY4MjVlOWQ1L3RhYmxlcmFuZ2U6ZTQ0M2E1NzhhNzNmNGUwZmIyYjhjYjZkZjgyNWU5ZDVfMS0xLTEtMS0zODU5Mg_8e5e66d0-9ad3-4c2d-a7cd-766fc10b20b2"
      unitRef="usd">278888521</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryRawMaterials
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80OS9mcmFnOjhlMzM2ODY5ZjljYTQzZmJhMDQ4NzM4OGFkNDA4YTlmL3RhYmxlOmU0NDNhNTc4YTczZjRlMGZiMmI4Y2I2ZGY4MjVlOWQ1L3RhYmxlcmFuZ2U6ZTQ0M2E1NzhhNzNmNGUwZmIyYjhjYjZkZjgyNWU5ZDVfMS0zLTEtMS0zODU5Mg_0554b202-11f2-4951-b4db-3527d493deb1"
      unitRef="usd">235014277</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryWorkInProcess
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80OS9mcmFnOjhlMzM2ODY5ZjljYTQzZmJhMDQ4NzM4OGFkNDA4YTlmL3RhYmxlOmU0NDNhNTc4YTczZjRlMGZiMmI4Y2I2ZGY4MjVlOWQ1L3RhYmxlcmFuZ2U6ZTQ0M2E1NzhhNzNmNGUwZmIyYjhjYjZkZjgyNWU5ZDVfMi0xLTEtMS0zODU5Mg_1eb8d8b4-3eda-4a32-9d20-b42d0967ef18"
      unitRef="usd">43334800</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryWorkInProcess
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80OS9mcmFnOjhlMzM2ODY5ZjljYTQzZmJhMDQ4NzM4OGFkNDA4YTlmL3RhYmxlOmU0NDNhNTc4YTczZjRlMGZiMmI4Y2I2ZGY4MjVlOWQ1L3RhYmxlcmFuZ2U6ZTQ0M2E1NzhhNzNmNGUwZmIyYjhjYjZkZjgyNWU5ZDVfMi0zLTEtMS0zODU5Mg_b0ae4ad8-c224-4448-89d3-a66b17bf0aea"
      unitRef="usd">34032164</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryFinishedGoods
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80OS9mcmFnOjhlMzM2ODY5ZjljYTQzZmJhMDQ4NzM4OGFkNDA4YTlmL3RhYmxlOmU0NDNhNTc4YTczZjRlMGZiMmI4Y2I2ZGY4MjVlOWQ1L3RhYmxlcmFuZ2U6ZTQ0M2E1NzhhNzNmNGUwZmIyYjhjYjZkZjgyNWU5ZDVfMy0xLTEtMS0zODU5Mg_1b2440e6-30f3-42d0-8b47-82dcd6c2e603"
      unitRef="usd">70354504</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryFinishedGoods
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80OS9mcmFnOjhlMzM2ODY5ZjljYTQzZmJhMDQ4NzM4OGFkNDA4YTlmL3RhYmxlOmU0NDNhNTc4YTczZjRlMGZiMmI4Y2I2ZGY4MjVlOWQ1L3RhYmxlcmFuZ2U6ZTQ0M2E1NzhhNzNmNGUwZmIyYjhjYjZkZjgyNWU5ZDVfMy0zLTEtMS0zODU5Mg_db4f8697-1a95-4c56-8e3c-e115b40a5c05"
      unitRef="usd">47221001</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryNet
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80OS9mcmFnOjhlMzM2ODY5ZjljYTQzZmJhMDQ4NzM4OGFkNDA4YTlmL3RhYmxlOmU0NDNhNTc4YTczZjRlMGZiMmI4Y2I2ZGY4MjVlOWQ1L3RhYmxlcmFuZ2U6ZTQ0M2E1NzhhNzNmNGUwZmIyYjhjYjZkZjgyNWU5ZDVfNC0xLTEtMS0zODU5Mg_172b3b4d-1eb7-4ac9-a82f-50a820d68569"
      unitRef="usd">392577825</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="i7da2c1da427a46f29ae71c065f7007cb_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80OS9mcmFnOjhlMzM2ODY5ZjljYTQzZmJhMDQ4NzM4OGFkNDA4YTlmL3RhYmxlOmU0NDNhNTc4YTczZjRlMGZiMmI4Y2I2ZGY4MjVlOWQ1L3RhYmxlcmFuZ2U6ZTQ0M2E1NzhhNzNmNGUwZmIyYjhjYjZkZjgyNWU5ZDVfNC0zLTEtMS0zODU5Mg_ae8a8a3a-4c69-4bf9-b4c0-190707af7823"
      unitRef="usd">316267442</us-gaap:InventoryNet>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RleHRyZWdpb246OTU5YWE0NjRkNzUwNDNkNjhjNDVjMWE1NzA0MzAzYTBfOTcx_1abce981-c352-4351-9818-42c5decb0a6f">Earnings Per Share&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company has unvested share-based payment awards with a right to receive non-forfeitable dividends, which are considered participating securities under ASC 260, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Earnings Per Share&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;.  The Company allocates earnings to participating securities and computes earnings per share using the two-class method.  Under the two-class method, net income per share is computed by dividing net income allocated to common shareholders by the weighted average number of common shares outstanding for the period. In applying the two-class method, net income is allocated to both common shares and participating securities based on their respective weighted average shares outstanding for the period.  For a period of net loss, net loss is not allocated to participating securities. &lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the computation of basic and diluted net income per common share under the two-class method for the three and six months ended June 30, 2022 and June 30, 2021:&lt;/span&gt;&lt;/div&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:45.829%"/&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.384%"/&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 colspan="3" style="display:none"/&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:11.619%"/&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:11.623%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 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="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Basic Earnings Per Share&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="display:none"/&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 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;72,404,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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;86,506,418&#160;&lt;/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="display:none"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;159,933,028&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;199,957,288&#160;&lt;/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 25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Dividends and undistributed earnings allocated to participating securities&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,094,827&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,324,767&#160;&lt;/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="display:none"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,460,845&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,974,367&#160;&lt;/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 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net Income available to common shareholders&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71,309,576&#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;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,181,651&#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="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;157,472,183&#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;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;196,982,921&#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;/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;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="display:none"/&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;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic weighted average shares outstanding&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;230,982,301&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;238,602,197&#160;&lt;/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="display:none"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;231,245,466&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;238,198,668&#160;&lt;/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 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net Income per share - Basic&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.31&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.36&#160;&lt;/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="display:none"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.68&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.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;/tr&gt;&lt;tr style="height:8pt"&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="display:none"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Diluted Earnings Per Share&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="display:none"/&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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Allocation of Net Income used in basic computation&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71,309,576&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,181,651&#160;&lt;/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="display:none"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;157,472,183&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;196,982,921&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Reallocation of undistributed earnings&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,980&#160;&lt;/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="display:none"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,464&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net Income available to common shareholders - Diluted&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71,310,871&#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;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,185,631&#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="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;157,475,884&#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;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;196,993,385&#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;/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="display:none"/&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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Number of shares used in basic computation&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;230,982,301&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;238,602,197&#160;&lt;/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="display:none"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;231,245,466&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;238,198,668&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Additional weighted average dilutive common stock equivalents&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;456,483&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,130,301&#160;&lt;/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="display:none"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;544,919&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,218,528&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted weighted average shares outstanding&lt;/span&gt;&lt;/td&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;231,438,784&#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;border-top:1pt solid #000;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;239,732,498&#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="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;231,790,385&#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;border-top:1pt solid #000;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;239,417,196&#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;/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;border-top:3pt double #000;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;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&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;border-top:3pt double #000;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;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net Income per share - Diluted&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.31&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.36&#160;&lt;/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="display:none"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.68&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.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;/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="display:none"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Shares related to stock plans not included in diluted average common shares outstanding because their effect would be anti-dilutive&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,792,677&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;270,475&#160;&lt;/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="display:none"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,549,824&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;137,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;/table&gt;</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RleHRyZWdpb246OTU5YWE0NjRkNzUwNDNkNjhjNDVjMWE1NzA0MzAzYTBfOTcz_e5625e5f-fb5d-465a-a1ff-6d5424e336c6">The following table sets forth the computation of basic and diluted net income per common share under the two-class method for the three and six months ended June 30, 2022 and June 30, 2021:&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:45.829%"/&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.384%"/&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 colspan="3" style="display:none"/&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:11.619%"/&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:11.623%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 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="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Basic Earnings Per Share&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="display:none"/&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 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;72,404,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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;86,506,418&#160;&lt;/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="display:none"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;159,933,028&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;199,957,288&#160;&lt;/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 25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Dividends and undistributed earnings allocated to participating securities&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,094,827&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,324,767&#160;&lt;/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="display:none"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,460,845&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,974,367&#160;&lt;/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 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net Income available to common shareholders&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71,309,576&#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;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,181,651&#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="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;157,472,183&#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;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;196,982,921&#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;/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;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="display:none"/&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;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic weighted average shares outstanding&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;230,982,301&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;238,602,197&#160;&lt;/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="display:none"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;231,245,466&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;238,198,668&#160;&lt;/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 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net Income per share - Basic&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.31&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.36&#160;&lt;/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="display:none"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.68&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.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;/tr&gt;&lt;tr style="height:8pt"&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="display:none"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Diluted Earnings Per Share&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="display:none"/&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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Allocation of Net Income used in basic computation&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71,309,576&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,181,651&#160;&lt;/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="display:none"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;157,472,183&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;196,982,921&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Reallocation of undistributed earnings&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,980&#160;&lt;/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="display:none"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,464&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net Income available to common shareholders - Diluted&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71,310,871&#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;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,185,631&#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="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;157,475,884&#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;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;196,993,385&#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;/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="display:none"/&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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Number of shares used in basic computation&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;230,982,301&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;238,602,197&#160;&lt;/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="display:none"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;231,245,466&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;238,198,668&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Additional weighted average dilutive common stock equivalents&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;456,483&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,130,301&#160;&lt;/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="display:none"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;544,919&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,218,528&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted weighted average shares outstanding&lt;/span&gt;&lt;/td&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;231,438,784&#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;border-top:1pt solid #000;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;239,732,498&#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="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;231,790,385&#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;border-top:1pt solid #000;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;239,417,196&#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;/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;border-top:3pt double #000;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;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&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;border-top:3pt double #000;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;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net Income per share - Diluted&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.31&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.36&#160;&lt;/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="display:none"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.68&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.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;/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="display:none"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Shares related to stock plans not included in diluted average common shares outstanding because their effect would be anti-dilutive&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,792,677&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;270,475&#160;&lt;/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="display:none"/&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,549,824&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;137,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;/table&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfMy0xLTEtMS0zODU5Mg_91b06882-04c6-4a61-8b8b-7c915b982b41"
      unitRef="usd">72404403</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfMy0zLTEtMS0zODU5Mg_4ace126c-c09c-408a-a851-85e2b46815ee"
      unitRef="usd">86506418</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfMy02LTEtMS0zODU5Mg_07a02534-e5e9-466d-888e-5f6fc71cbb0a"
      unitRef="usd">159933028</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfMy04LTEtMS0zODU5Mg_39f34d25-be05-4fc8-8a83-8db90b7970ed"
      unitRef="usd">199957288</us-gaap:NetIncomeLoss>
    <us-gaap:ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfNC0xLTEtMS0zODU5Mg_66ea65c4-ae93-4a33-acc3-21c361afc7b0"
      unitRef="usd">1094827</us-gaap:ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic>
    <us-gaap:ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfNC0zLTEtMS0zODU5Mg_015ff3c0-10e9-4c9a-9a88-b7c7f0e7d0a3"
      unitRef="usd">1324767</us-gaap:ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic>
    <us-gaap:ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfNC02LTEtMS0zODU5Mg_e3676005-7c4a-4fe7-87b4-2a5e3b0bcbfa"
      unitRef="usd">2460845</us-gaap:ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic>
    <us-gaap:ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfNC04LTEtMS0zODU5Mg_37454cc9-0734-4d8c-84af-d9c0811117b8"
      unitRef="usd">2974367</us-gaap:ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic>
    <us-gaap:NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfNS0xLTEtMS0zODU5Mg_6adcbdf3-06e5-4418-9500-840a0c778012"
      unitRef="usd">71309576</us-gaap:NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic>
    <us-gaap:NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfNS0zLTEtMS0zODU5Mg_cc2e0172-3a59-43c9-b86a-160d8a5e3bf7"
      unitRef="usd">85181651</us-gaap:NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic>
    <us-gaap:NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfNS02LTEtMS0zODU5Mg_711a16dc-f99d-44c2-9dde-48e3d0406a00"
      unitRef="usd">157472183</us-gaap:NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic>
    <us-gaap:NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfNS04LTEtMS0zODU5Mg_cffe425c-c9ee-4841-b8bd-11b44d5926d2"
      unitRef="usd">196982921</us-gaap:NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfNy0xLTEtMS0zODU5Mg_91b3d061-d911-4ebe-9965-2496f879738e"
      unitRef="shares">230982301</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfNy0zLTEtMS0zODU5Mg_02548bff-ba30-45ff-9750-e90944d5a40e"
      unitRef="shares">238602197</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfNy02LTEtMS0zODU5Mg_f5dcf16e-f0d9-42fb-82be-ecaad87dc5d1"
      unitRef="shares">231245466</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfNy04LTEtMS0zODU5Mg_0e68aeef-00e9-4ae4-8c4c-230c68784dcf"
      unitRef="shares">238198668</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfOC0xLTEtMS0zODU5Mg_09849688-8759-43ac-89e0-164801e48abd"
      unitRef="usdPerShare">0.31</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfOC0zLTEtMS0zODU5Mg_c1cdfe0f-e941-4492-a9e5-d35f55560ecc"
      unitRef="usdPerShare">0.36</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfOC02LTEtMS0zODU5Mg_bcab396a-86ba-4ecc-9c49-33a3bde5ffa9"
      unitRef="usdPerShare">0.68</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfOC04LTEtMS0zODU5Mg_4e874b19-c158-4fa4-b667-ae5ea0c9605b"
      unitRef="usdPerShare">0.83</us-gaap:EarningsPerShareBasic>
    <us-gaap:NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfMTEtMS0xLTEtMzg1OTI_a408671c-9179-4895-bfe6-4bb950e79eb5"
      unitRef="usd">71309576</us-gaap:NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic>
    <us-gaap:NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfMTEtMy0xLTEtMzg1OTI_0508564f-3136-425e-a91b-7d2bd1ba7a59"
      unitRef="usd">85181651</us-gaap:NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic>
    <us-gaap:NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfMTEtNi0xLTEtMzg1OTI_9eb4dabd-9f0e-4d02-8d4c-20b713fe20b2"
      unitRef="usd">157472183</us-gaap:NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic>
    <us-gaap:NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfMTEtOC0xLTEtMzg1OTI_86f460eb-022c-4d41-8e0d-3425be3a0e7c"
      unitRef="usd">196982921</us-gaap:NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic>
    <us-gaap:ParticipatingSecuritiesDistributedAndUndistributedEarningsLossDiluted
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfMTItMS0xLTEtMzg1OTI_6ebf9c28-7d56-452e-a031-c16462db29e7"
      unitRef="usd">1295</us-gaap:ParticipatingSecuritiesDistributedAndUndistributedEarningsLossDiluted>
    <us-gaap:ParticipatingSecuritiesDistributedAndUndistributedEarningsLossDiluted
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfMTItMy0xLTEtMzg1OTI_c49016cd-e49a-4cc5-90de-224a12824442"
      unitRef="usd">3980</us-gaap:ParticipatingSecuritiesDistributedAndUndistributedEarningsLossDiluted>
    <us-gaap:ParticipatingSecuritiesDistributedAndUndistributedEarningsLossDiluted
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfMTItNi0xLTEtMzg1OTI_e76c60f2-8556-4c4b-8fe4-7b0cee4f1992"
      unitRef="usd">3701</us-gaap:ParticipatingSecuritiesDistributedAndUndistributedEarningsLossDiluted>
    <us-gaap:ParticipatingSecuritiesDistributedAndUndistributedEarningsLossDiluted
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfMTItOC0xLTEtMzg1OTI_e2fda03f-2bde-4240-a0c2-d3a8a534a54b"
      unitRef="usd">10464</us-gaap:ParticipatingSecuritiesDistributedAndUndistributedEarningsLossDiluted>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfMTMtMS0xLTEtMzg1OTI_e1e4fab3-0c85-4767-a802-cf3ad80313cd"
      unitRef="usd">71310871</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfMTMtMy0xLTEtMzg1OTI_061a548a-bc32-4085-a8c7-79cb503e4d1c"
      unitRef="usd">85185631</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfMTMtNi0xLTEtMzg1OTI_d2bbaea8-f67a-4d44-a91d-78afa379881e"
      unitRef="usd">157475884</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfMTMtOC0xLTEtMzg1OTI_43442848-989f-4c16-8e39-a13528d4a49b"
      unitRef="usd">196993385</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfMTUtMS0xLTEtMzg1OTI_d297f35b-9114-4792-af35-38389e8d6273"
      unitRef="shares">230982301</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfMTUtMy0xLTEtMzg1OTI_cbc00ac0-ae5d-4abb-bce9-49dec7ca8cc0"
      unitRef="shares">238602197</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfMTUtNi0xLTEtMzg1OTI_6f88f64f-e7c0-4b90-ad83-22b2d9dc2fd7"
      unitRef="shares">231245466</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfMTUtOC0xLTEtMzg1OTI_aa2609da-8539-414b-846f-b96358cb5e1c"
      unitRef="shares">238198668</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfMTYtMS0xLTEtMzg1OTI_b7b0486b-adb0-4aeb-b8a8-80de6f96d50d"
      unitRef="shares">456483</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfMTYtMy0xLTEtMzg1OTI_5f1ce0d3-a2aa-44af-a4a8-1dc529072701"
      unitRef="shares">1130301</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfMTYtNi0xLTEtMzg1OTI_4b3eceeb-a53c-441c-8bc1-8bff3505d1a8"
      unitRef="shares">544919</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfMTYtOC0xLTEtMzg1OTI_f522a588-4bb1-4993-88c0-69f7f6630208"
      unitRef="shares">1218528</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfMTctMS0xLTEtMzg1OTI_9ca11f54-c150-4d1b-a1c3-57574c61b313"
      unitRef="shares">231438784</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfMTctMy0xLTEtMzg1OTI_1f71f508-3ca0-4b05-b702-66eb01a80e33"
      unitRef="shares">239732498</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfMTctNi0xLTEtMzg1OTI_e9bcf9c8-959e-4945-ab1a-afded723b8a3"
      unitRef="shares">231790385</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfMTctOC0xLTEtMzg1OTI_47b569eb-f5ae-40ae-9bd4-81cbf7cdcaf8"
      unitRef="shares">239417196</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfMTktMS0xLTEtMzg1OTI_44e4eb66-30b9-4db0-b686-f0a560095c1d"
      unitRef="usdPerShare">0.31</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfMTktMy0xLTEtMzg1OTI_14fea2e0-a57e-4cee-9e5d-0b436e4849ce"
      unitRef="usdPerShare">0.36</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfMTktNi0xLTEtMzg1OTI_0726207e-1e46-4676-b981-26991b8a6947"
      unitRef="usdPerShare">0.68</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfMTktOC0xLTEtMzg1OTI_05b97dee-63f7-4fd1-843d-cc28731dca24"
      unitRef="usdPerShare">0.82</us-gaap:EarningsPerShareDiluted>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfMjEtMS0xLTEtMzg1OTI_7ca0f5bc-e526-407b-aa5b-c66325376a04"
      unitRef="shares">1792677</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfMjEtMy0xLTEtMzg1OTI_0704284a-a16b-4f40-8e7e-74472a1f3024"
      unitRef="shares">270475</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfMjEtNi0xLTEtMzg1OTI_9976f5d3-fe50-4dd5-b1e6-102395f5c171"
      unitRef="shares">1549824</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81Mi9mcmFnOjk1OWFhNDY0ZDc1MDQzZDY4YzQ1YzFhNTcwNDMwM2EwL3RhYmxlOmRjYWVmMGNhMDA0ZTQ3NDE5NTMwN2E3ZWFmYmIzYzIzL3RhYmxlcmFuZ2U6ZGNhZWYwY2EwMDRlNDc0MTk1MzA3YTdlYWZiYjNjMjNfMjEtOC0xLTEtMzg1OTI_ead8ebea-13f1-4ea2-86d6-3d7957147bc9"
      unitRef="shares">137484</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RleHRyZWdpb246YjQzOWE1ZDhjMzNhNGQ1M2I0ZjZiYTUxOWNkZDEzYmRfNTk0OA_099e0709-2900-43d3-b54d-e4f3b2a0fad9">Stock-Based Compensation Plans&lt;div style="margin-top:8pt;padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of June 30, 2022, the Company had two equity incentive plans, which include the Gentex Corporation 2019 Omnibus Incentive Plan ("2019 Omnibus Plan"), and an employee stock purchase plan.  Those plans and any prior material amendments thereto have previously been approved by shareholders.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The 2019 Omnibus Plan provides for the potential awards to: i) employees; and ii) non-employee directors of the Company or its subsidiaries, which potential awards may be stock options (both incentive stock options and non-qualified stock options), appreciation rights, restricted stock awards and restricted stock units, performance share awards and performance units, and other awards that are stock-based, cash-based or a combination of both. The 2019 Omnibus Plan replaced the Company's Employee Stock Option Plan, Second Restricted Stock Plan, and Amended and Restated Non-Employee Director Stock Option Plan (the "Prior Plans"), which were also approved by shareholders.  Any existing awards previously granted under the Prior Plans remain outstanding in accordance with their terms and are governed by the Prior Plans as applicable. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Readers should refer to &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Note 5&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; of the consolidated financial statements in the Company's Annual Report on Form 10-K for the calendar year ended December 31, 2021, for additional information related to the Prior Plans.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company recognized total compensation expense for share-based payments of $8,573,230 for the three months ended&lt;/span&gt;&lt;span style="color:#faac16;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;June 30, 2022, and total compensation expense for share-based payments of $15,361,567 for the six months ended June 30, 2022. The Company recognized compensation expense for share-based payments of $6,727,513&lt;/span&gt;&lt;span style="color:#faac16;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;and $12,622,158 for the three and six months ended June 30, 2021, &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;respectively.  A portion of the compensation cost for share based payment awards is capitalized as part of inventory. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2019 Omnibus Incentive Plan&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The purpose of the 2019 Omnibus Incentive Plan is to attract and retain employees, officers, and directors of the Company and its subsidiaries and to motivate and provide such persons incentives and rewards for performance. Pursuant to the terms of the Plan, each type of award counts against the available shares based on a predetermined conversion rate (shown in the table below). As of June 30, 2022, 7,560,663 share awards have been made under the Plan, resulting in 18,598,316 shares granted of the 45,000,000 total shares available to be issued under the Plan. The shares issued are presented net of shares from canceled/expired options and shares.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.298%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:36.264%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.815%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.589%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.575%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.589%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.575%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.593%"/&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="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Shares Granted&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Conversion Rate&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Total Shares Under 2019 Omnibus Plan&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-Qualified Stock Options&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,953,587&#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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.00&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,953,587&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted Stock&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,048,317&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.06&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,376,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;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance Shares&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;558,759&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.06&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,268,562&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&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;border-bottom:1pt solid #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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,560,663&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #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="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:1pt solid #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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,598,316&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #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:8pt;padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Employee Stock Options&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Under the 2019 Omnibus Plan and the Employee Stock Option Plan, the option exercise price equals the stock&#x2019;s market price on the date of grant. The options vest after &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RleHRyZWdpb246YjQzOWE1ZDhjMzNhNGQ1M2I0ZjZiYTUxOWNkZDEzYmRfMjUxMg_6081a8b7-5abe-48ab-aa50-65c3f2230fee"&gt;one&lt;/span&gt; to five years, and expire after &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RleHRyZWdpb246YjQzOWE1ZDhjMzNhNGQ1M2I0ZjZiYTUxOWNkZDEzYmRfMjUzOQ_4d85eb7f-ce18-46d8-8e7e-3ca366009d4e"&gt;five&lt;/span&gt; to ten years.  As of June 30, 2022, there was $9,646,122 of unearned compensation cost associated with stock options granted under the 2019 Omnibus Incentive Plan and the Employee Stock Option Plan, which is expected to be recognized over the remaining vesting periods.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;padding-left:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The fair value of each option grant was estimated on the date of grant using the Black-Scholes option pricing model with the following weighted-average assumptions for the indicated periods:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;padding-left:36pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.122%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:33.560%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.681%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.537%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.681%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.537%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.681%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.537%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.686%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended June 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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 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="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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&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;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Dividend Yield &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.78&#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;span style="color:#000000;font-family:'Arial',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;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.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;span style="color:#000000;font-family:'Arial',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;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.79&#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;span style="color:#000000;font-family:'Arial',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;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.88&#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;span style="color:#000000;font-family:'Arial',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="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected volatility &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(2)&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28.68&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27.68&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28.42&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27.76&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Risk-free interest rate &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(3)&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.01&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.87&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.72&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.90&#160;&lt;/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:'Arial',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="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected term of options (years) &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(4)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.15&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:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.15&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:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.15&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:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.15&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&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted-avg. grant date fair value&lt;/span&gt;&lt;/div&gt;&lt;/td&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$6.49&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$6.32&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$6.43&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$6.58&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="padding-left:54pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:5.2pt;font-weight:400;line-height:120%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;1.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:120%;padding-left:13.67pt"&gt;Represents the Company&#x2019;s estimated cash dividend yield over the expected term of option grant.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:54pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:5.2pt;font-weight:400;line-height:120%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;2.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:120%;padding-left:13.67pt"&gt;Amount is determined based on analysis of historical price volatility of the Company&#x2019;s common stock. The expected volatility is based on the daily percentage change in the price of the stock over a period equal to the expected term of the option grant.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:54pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:5.2pt;font-weight:400;line-height:120%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;3.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:120%;padding-left:13.67pt"&gt;Represents the U.S. Treasury yield over the expected term of the option grant.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:54pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:5.2pt;font-weight:400;line-height:120%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;4.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:120%;padding-left:13.67pt"&gt;Represents the period of time that options granted are expected to be outstanding. Based on analysis of historical option exercise activity, the Company has determined that all employee groups exhibit similar exercise and post-vesting termination behavior.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Restricted Shares&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Restricted shares awarded under the 2019 Omnibus Plan and the Second Restricted Stock Plan entitle the shareholder to all rights of common stock ownership except that the shares may not be sold, transferred, pledged, exchanged or otherwise disposed of during the restriction period. The restriction period is determined by the Compensation Committee, appointed by the Board of Directors, but may not exceed ten years under the terms of such plans. As of June 30, 2022, the Company had unearned stock-based compensation of $47,881,596 associated with the restricted stock grants issued under the 2019 Omnibus Plan and the Prior Plan. The unearned stock-based compensation related to these grants is being amortized to compensation expense over the applicable restriction periods. Compensation expense from restricted stock grants in the three and six months ended June 30, 2022 was $5,335,072&lt;/span&gt;&lt;span style="color:#faac16;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;and $10,625,877, &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;respectively. Compensation expense from restricted stock grants in the three and six months ended June 30, 2021 was $4,459,401&lt;/span&gt;&lt;span style="color:#faac16;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;and $8,762,376, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Performance Shares&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Performance shares awarded under the 2019 Omnibus Plan are considered performance condition awards as attainment is based on the Company's performance relative to pre-established metrics. The fair value of such performance share awards was determined using the Company's average closing stock price on the twenty days preceding the date of grant. The expected attainment of the metrics for these awards is then analyzed each reporting period, and the related expense is adjusted based on expected attainment, if the then expected attainment differs from previous expectations. The cumulative effect on current and prior periods of a change in expected attainment is recognized in the period of change.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of June 30, 2022, the Company had unearned stock-based compensation of $10,269,387 associated with these performance share grants. The unearned stock-based compensation related to these grants is being amortized to compensation expense over the applicable performance periods. &lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Employee Stock Purchase Plan&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Prior to July 1, 2022, the Company had in place an employee stock purchase plan covering 2,000,000 shares of common stock.  Under that plan, the Company sold shares at 85% of the stock&#x2019;s market price at date of purchase. Under ASC 718, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Compensation - Stock Compensation&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, the 15% discounted value was recognized as compensation expense.  As of June 30, 2022, the Company has issued 1,624,122 shares under this prior plan.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In May 2022, the 2022 Gentex Corporation Employee Stock Purchase Plan covering 2,000,000 shares of common stock was approved by shareholders replacing the above referenced prior plan effective July 1, 2022. Under the plan, the Company sells shares at 85% of the stock's market price at date of purchase.  Under ASC 718, the 15% discounted value is recognized as compensation expense.&lt;/span&gt;&lt;/div&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <gntx:SharebasedCompensationArrangementbySharebasedPaymentAwardNumberOfPlans
      contextRef="i545e6b06560743239f074497a3fba578_I20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RleHRyZWdpb246YjQzOWE1ZDhjMzNhNGQ1M2I0ZjZiYTUxOWNkZDEzYmRfNjY_dddfcf01-90c2-4ec6-87e7-e241c4ed118e"
      unitRef="plan">2</gntx:SharebasedCompensationArrangementbySharebasedPaymentAwardNumberOfPlans>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RleHRyZWdpb246YjQzOWE1ZDhjMzNhNGQ1M2I0ZjZiYTUxOWNkZDEzYmRfMTA5OTUxMTYzMzczMg_0da4fe83-4903-4d04-a774-06e085a9a337"
      unitRef="usd">8573230</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RleHRyZWdpb246YjQzOWE1ZDhjMzNhNGQ1M2I0ZjZiYTUxOWNkZDEzYmRfMTQ0NA_8f5d1247-0a4d-4d76-ba40-966b2013b662"
      unitRef="usd">15361567</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RleHRyZWdpb246YjQzOWE1ZDhjMzNhNGQ1M2I0ZjZiYTUxOWNkZDEzYmRfMTA5OTUxMTYzMzg2MQ_db51f83e-c9f0-471e-a1d3-21555504c3d9"
      unitRef="usd">6727513</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RleHRyZWdpb246YjQzOWE1ZDhjMzNhNGQ1M2I0ZjZiYTUxOWNkZDEzYmRfMTUzNA_7b840408-f4f6-4889-a5f7-05cbf2a4604f"
      unitRef="usd">12622158</us-gaap:AllocatedShareBasedCompensationExpense>
    <gntx:ShareBasedCompensationArrangementByShareBasedAwardGrantedInPeriod
      contextRef="i60561a6d28324d81b3663ac2554b076a_D20220101-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RleHRyZWdpb246YjQzOWE1ZDhjMzNhNGQ1M2I0ZjZiYTUxOWNkZDEzYmRfMjA5MQ_a01a7bd5-2675-41e3-a453-409e807d90c9"
      unitRef="shares">7560663</gntx:ShareBasedCompensationArrangementByShareBasedAwardGrantedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod
      contextRef="i60561a6d28324d81b3663ac2554b076a_D20220101-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RleHRyZWdpb246YjQzOWE1ZDhjMzNhNGQ1M2I0ZjZiYTUxOWNkZDEzYmRfMjE1MQ_80106165-7cda-49be-9019-66ba64d3bd4c"
      unitRef="shares">18598316</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="iec7152d137db42179939e40f816f94ea_I20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RleHRyZWdpb246YjQzOWE1ZDhjMzNhNGQ1M2I0ZjZiYTUxOWNkZDEzYmRfMjE3Ng_b6d9bdc8-8448-4bfc-aff8-bcf59d672eaa"
      unitRef="shares">45000000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RleHRyZWdpb246YjQzOWE1ZDhjMzNhNGQ1M2I0ZjZiYTUxOWNkZDEzYmRfNTk0OQ_64d4471c-0db3-4e4e-84af-99dea82c8893">The shares issued are presented net of shares from canceled/expired options and shares.&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.298%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:36.264%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.815%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.589%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.575%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.589%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.575%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.593%"/&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="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Shares Granted&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Conversion Rate&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Total Shares Under 2019 Omnibus Plan&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-Qualified Stock Options&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,953,587&#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:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.00&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,953,587&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted Stock&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,048,317&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.06&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,376,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;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance Shares&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;558,759&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.06&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,268,562&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&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;border-bottom:1pt solid #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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,560,663&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #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="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:1pt solid #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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,598,316&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #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:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="i2e180a6fe38c4f719eed0f26dca873a0_D20220101-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RhYmxlOjBjYzllNjZhMTgxMzRlOGM5MDgyOTg4ZThhNmY3NjY5L3RhYmxlcmFuZ2U6MGNjOWU2NmExODEzNGU4YzkwODI5ODhlOGE2Zjc2NjlfMS0yLTEtMS0zODU5Mg_5080c7ad-0cf4-47d9-ad96-64552b328fbb"
      unitRef="shares">3953587</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <gntx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsConversionRate
      contextRef="i2e180a6fe38c4f719eed0f26dca873a0_D20220101-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RhYmxlOjBjYzllNjZhMTgxMzRlOGM5MDgyOTg4ZThhNmY3NjY5L3RhYmxlcmFuZ2U6MGNjOWU2NmExODEzNGU4YzkwODI5ODhlOGE2Zjc2NjlfMS00LTEtMS0zODU5Mg_54e3f1b6-8d44-46f1-b94e-41f0452bca12"
      unitRef="number">1.00</gntx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsConversionRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod
      contextRef="i2e180a6fe38c4f719eed0f26dca873a0_D20220101-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RhYmxlOjBjYzllNjZhMTgxMzRlOGM5MDgyOTg4ZThhNmY3NjY5L3RhYmxlcmFuZ2U6MGNjOWU2NmExODEzNGU4YzkwODI5ODhlOGE2Zjc2NjlfMS02LTEtMS0zODU5Mg_fa2b75d5-f71c-479e-af8e-35a2643079f6"
      unitRef="shares">3953587</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted
      contextRef="iebc5e6167856422b9cdbd9b1e87a80cf_D20220101-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RhYmxlOjBjYzllNjZhMTgxMzRlOGM5MDgyOTg4ZThhNmY3NjY5L3RhYmxlcmFuZ2U6MGNjOWU2NmExODEzNGU4YzkwODI5ODhlOGE2Zjc2NjlfMi0yLTEtMS0zODU5Mg_8fbe3f66-e521-44a1-9cc0-1d026b4f85a7"
      unitRef="shares">3048317</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted>
    <gntx:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentConversionRate
      contextRef="iebc5e6167856422b9cdbd9b1e87a80cf_D20220101-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RhYmxlOjBjYzllNjZhMTgxMzRlOGM5MDgyOTg4ZThhNmY3NjY5L3RhYmxlcmFuZ2U6MGNjOWU2NmExODEzNGU4YzkwODI5ODhlOGE2Zjc2NjlfMi00LTEtMS0zODU5Mg_247616b1-5f86-49f0-9b14-5d3a876a6e8d"
      unitRef="number">4.06</gntx:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentConversionRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod
      contextRef="iebc5e6167856422b9cdbd9b1e87a80cf_D20220101-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RhYmxlOjBjYzllNjZhMTgxMzRlOGM5MDgyOTg4ZThhNmY3NjY5L3RhYmxlcmFuZ2U6MGNjOWU2NmExODEzNGU4YzkwODI5ODhlOGE2Zjc2NjlfMi02LTEtMS0zODU5Mg_504ad998-692c-4ede-9643-ca084174419d"
      unitRef="shares">12376167</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted
      contextRef="i9b7fd485f67c43f69b47d21b44778e4c_D20220101-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RhYmxlOjBjYzllNjZhMTgxMzRlOGM5MDgyOTg4ZThhNmY3NjY5L3RhYmxlcmFuZ2U6MGNjOWU2NmExODEzNGU4YzkwODI5ODhlOGE2Zjc2NjlfMy0yLTEtMS0zODU5Mg_7c9a5542-9e49-437e-8e3d-83680ca6c14f"
      unitRef="shares">558759</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted>
    <gntx:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentConversionRate
      contextRef="i9b7fd485f67c43f69b47d21b44778e4c_D20220101-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RhYmxlOjBjYzllNjZhMTgxMzRlOGM5MDgyOTg4ZThhNmY3NjY5L3RhYmxlcmFuZ2U6MGNjOWU2NmExODEzNGU4YzkwODI5ODhlOGE2Zjc2NjlfMy00LTEtMS0zODU5Mg_51ad0ae3-9662-4ab5-8cc1-611e15c8e354"
      unitRef="number">4.06</gntx:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentConversionRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod
      contextRef="i9b7fd485f67c43f69b47d21b44778e4c_D20220101-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RhYmxlOjBjYzllNjZhMTgxMzRlOGM5MDgyOTg4ZThhNmY3NjY5L3RhYmxlcmFuZ2U6MGNjOWU2NmExODEzNGU4YzkwODI5ODhlOGE2Zjc2NjlfMy02LTEtMS0zODU5Mg_4322fb51-4dd9-4e47-a377-3035153ab8a4"
      unitRef="shares">2268562</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod>
    <gntx:ShareBasedCompensationArrangementByShareBasedAwardGrantedInPeriod
      contextRef="i60561a6d28324d81b3663ac2554b076a_D20220101-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RhYmxlOjBjYzllNjZhMTgxMzRlOGM5MDgyOTg4ZThhNmY3NjY5L3RhYmxlcmFuZ2U6MGNjOWU2NmExODEzNGU4YzkwODI5ODhlOGE2Zjc2NjlfNC0yLTEtMS0zODU5Mg_fd855aef-c7c9-4eb7-b820-6a1bdb7dacf5"
      unitRef="shares">7560663</gntx:ShareBasedCompensationArrangementByShareBasedAwardGrantedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod
      contextRef="i60561a6d28324d81b3663ac2554b076a_D20220101-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RhYmxlOjBjYzllNjZhMTgxMzRlOGM5MDgyOTg4ZThhNmY3NjY5L3RhYmxlcmFuZ2U6MGNjOWU2NmExODEzNGU4YzkwODI5ODhlOGE2Zjc2NjlfNC02LTEtMS0zODU5Mg_98730973-60bf-4b5d-8ab4-ad69384acb81"
      unitRef="shares">18598316</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i98190e1151f9426895eb64adfc72a3e1_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RleHRyZWdpb246YjQzOWE1ZDhjMzNhNGQ1M2I0ZjZiYTUxOWNkZDEzYmRfMjUxOA_ae574977-be6f-497e-a964-d93989c939b7">P5Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="i98190e1151f9426895eb64adfc72a3e1_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RleHRyZWdpb246YjQzOWE1ZDhjMzNhNGQ1M2I0ZjZiYTUxOWNkZDEzYmRfMjU0NQ_32ad68cc-6ca7-467c-be5f-d16077494c42">P10Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="i4c8e985ed45245b6a6f654dfd3deea79_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RleHRyZWdpb246YjQzOWE1ZDhjMzNhNGQ1M2I0ZjZiYTUxOWNkZDEzYmRfMjU3MA_8635f5f1-690f-4fb0-950d-b857ad7a9f0b"
      unitRef="usd">9646122</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RleHRyZWdpb246YjQzOWE1ZDhjMzNhNGQ1M2I0ZjZiYTUxOWNkZDEzYmRfNTk1MQ_4472edb2-8b27-4a86-aed9-231bda0eef54">&lt;div style="margin-top:8pt;padding-left:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The fair value of each option grant was estimated on the date of grant using the Black-Scholes option pricing model with the following weighted-average assumptions for the indicated periods:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;padding-left:36pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.122%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:33.560%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.681%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.537%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.681%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.537%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.681%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.537%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.686%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended June 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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 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="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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&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;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Dividend Yield &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.78&#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;span style="color:#000000;font-family:'Arial',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;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.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;span style="color:#000000;font-family:'Arial',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;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.79&#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;span style="color:#000000;font-family:'Arial',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;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.88&#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;span style="color:#000000;font-family:'Arial',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="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected volatility &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(2)&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28.68&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27.68&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28.42&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27.76&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Risk-free interest rate &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(3)&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.01&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.87&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.72&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.90&#160;&lt;/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:'Arial',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="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected term of options (years) &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(4)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.15&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:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.15&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:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.15&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:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.15&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&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted-avg. grant date fair value&lt;/span&gt;&lt;/div&gt;&lt;/td&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$6.49&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$6.32&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$6.43&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$6.58&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="padding-left:54pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:5.2pt;font-weight:400;line-height:120%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;1.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:120%;padding-left:13.67pt"&gt;Represents the Company&#x2019;s estimated cash dividend yield over the expected term of option grant.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:54pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:5.2pt;font-weight:400;line-height:120%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;2.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:120%;padding-left:13.67pt"&gt;Amount is determined based on analysis of historical price volatility of the Company&#x2019;s common stock. The expected volatility is based on the daily percentage change in the price of the stock over a period equal to the expected term of the option grant.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:54pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:5.2pt;font-weight:400;line-height:120%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;3.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:120%;padding-left:13.67pt"&gt;Represents the U.S. Treasury yield over the expected term of the option grant.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:54pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:5.2pt;font-weight:400;line-height:120%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;4.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:120%;padding-left:13.67pt"&gt;Represents the period of time that options granted are expected to be outstanding. Based on analysis of historical option exercise activity, the Company has determined that all employee groups exhibit similar exercise and post-vesting termination behavior.&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RhYmxlOjk2Njc0MmZlMmUyZjQzZDFhZDIwMTRhMGM3YjM1NTJjL3RhYmxlcmFuZ2U6OTY2NzQyZmUyZTJmNDNkMWFkMjAxNGEwYzdiMzU1MmNfMi0xLTEtMS0zODU5Mg_67d62712-0682-4828-8b8d-1a6bcaefed5d"
      unitRef="number">0.0178</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RhYmxlOjk2Njc0MmZlMmUyZjQzZDFhZDIwMTRhMGM3YjM1NTJjL3RhYmxlcmFuZ2U6OTY2NzQyZmUyZTJmNDNkMWFkMjAxNGEwYzdiMzU1MmNfMi0zLTEtMS0zODU5Mg_7d6b640f-afd5-4e37-ad88-23dd20c6c8e8"
      unitRef="number">0.0186</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RhYmxlOjk2Njc0MmZlMmUyZjQzZDFhZDIwMTRhMGM3YjM1NTJjL3RhYmxlcmFuZ2U6OTY2NzQyZmUyZTJmNDNkMWFkMjAxNGEwYzdiMzU1MmNfMi01LTEtMS0zODU5Mg_b0e242d3-9035-48c4-a556-6b75fccf3017"
      unitRef="number">0.0179</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RhYmxlOjk2Njc0MmZlMmUyZjQzZDFhZDIwMTRhMGM3YjM1NTJjL3RhYmxlcmFuZ2U6OTY2NzQyZmUyZTJmNDNkMWFkMjAxNGEwYzdiMzU1MmNfMi03LTEtMS0zODU5Mg_e6ffb22e-62e1-4c29-89ec-d441d1473ead"
      unitRef="number">0.0188</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RhYmxlOjk2Njc0MmZlMmUyZjQzZDFhZDIwMTRhMGM3YjM1NTJjL3RhYmxlcmFuZ2U6OTY2NzQyZmUyZTJmNDNkMWFkMjAxNGEwYzdiMzU1MmNfMy0xLTEtMS0zODU5Mg_4ddd68a6-dcc0-4edd-a0b6-b0c762feeec3"
      unitRef="number">0.2868</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RhYmxlOjk2Njc0MmZlMmUyZjQzZDFhZDIwMTRhMGM3YjM1NTJjL3RhYmxlcmFuZ2U6OTY2NzQyZmUyZTJmNDNkMWFkMjAxNGEwYzdiMzU1MmNfMy0zLTEtMS0zODU5Mg_922142d7-4b22-4a84-a02d-5abd5f4e5380"
      unitRef="number">0.2768</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RhYmxlOjk2Njc0MmZlMmUyZjQzZDFhZDIwMTRhMGM3YjM1NTJjL3RhYmxlcmFuZ2U6OTY2NzQyZmUyZTJmNDNkMWFkMjAxNGEwYzdiMzU1MmNfMy01LTEtMS0zODU5Mg_16b5828f-0222-4676-bd99-8dde57bf51b3"
      unitRef="number">0.2842</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RhYmxlOjk2Njc0MmZlMmUyZjQzZDFhZDIwMTRhMGM3YjM1NTJjL3RhYmxlcmFuZ2U6OTY2NzQyZmUyZTJmNDNkMWFkMjAxNGEwYzdiMzU1MmNfMy03LTEtMS0zODU5Mg_9a1bfc02-0d02-4691-9484-e5944cf7ecad"
      unitRef="number">0.2776</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RhYmxlOjk2Njc0MmZlMmUyZjQzZDFhZDIwMTRhMGM3YjM1NTJjL3RhYmxlcmFuZ2U6OTY2NzQyZmUyZTJmNDNkMWFkMjAxNGEwYzdiMzU1MmNfNC0xLTEtMS0zODU5Mg_874a5cac-36e6-470c-ba16-c6928a91279d"
      unitRef="number">0.0301</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RhYmxlOjk2Njc0MmZlMmUyZjQzZDFhZDIwMTRhMGM3YjM1NTJjL3RhYmxlcmFuZ2U6OTY2NzQyZmUyZTJmNDNkMWFkMjAxNGEwYzdiMzU1MmNfNC0zLTEtMS0zODU5Mg_3b8cbd99-87b7-4871-8c82-ea94c9866efa"
      unitRef="number">0.0087</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RhYmxlOjk2Njc0MmZlMmUyZjQzZDFhZDIwMTRhMGM3YjM1NTJjL3RhYmxlcmFuZ2U6OTY2NzQyZmUyZTJmNDNkMWFkMjAxNGEwYzdiMzU1MmNfNC01LTEtMS0zODU5Mg_f995d4b6-f1f5-4b58-824c-99b08671c326"
      unitRef="number">0.0272</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RhYmxlOjk2Njc0MmZlMmUyZjQzZDFhZDIwMTRhMGM3YjM1NTJjL3RhYmxlcmFuZ2U6OTY2NzQyZmUyZTJmNDNkMWFkMjAxNGEwYzdiMzU1MmNfNC03LTEtMS0zODU5Mg_b719401f-7518-4c71-9582-055efc1b8085"
      unitRef="number">0.0090</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RhYmxlOjk2Njc0MmZlMmUyZjQzZDFhZDIwMTRhMGM3YjM1NTJjL3RhYmxlcmFuZ2U6OTY2NzQyZmUyZTJmNDNkMWFkMjAxNGEwYzdiMzU1MmNfNS0xLTEtMS0zODU5Mg_02a75275-f119-4b62-9a6f-de1432f17520">P4Y1M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RhYmxlOjk2Njc0MmZlMmUyZjQzZDFhZDIwMTRhMGM3YjM1NTJjL3RhYmxlcmFuZ2U6OTY2NzQyZmUyZTJmNDNkMWFkMjAxNGEwYzdiMzU1MmNfNS0zLTEtMS0zODU5Mg_ed97cf72-acbc-4d64-88e0-1fa68b33dbbc">P4Y1M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RhYmxlOjk2Njc0MmZlMmUyZjQzZDFhZDIwMTRhMGM3YjM1NTJjL3RhYmxlcmFuZ2U6OTY2NzQyZmUyZTJmNDNkMWFkMjAxNGEwYzdiMzU1MmNfNS01LTEtMS0zODU5Mg_9af20dd2-8053-4ad7-b112-5a029844c989">P4Y1M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RhYmxlOjk2Njc0MmZlMmUyZjQzZDFhZDIwMTRhMGM3YjM1NTJjL3RhYmxlcmFuZ2U6OTY2NzQyZmUyZTJmNDNkMWFkMjAxNGEwYzdiMzU1MmNfNS03LTEtMS0zODU5Mg_6d313035-5e28-46c1-9033-6e6a9ff93aae">P4Y1M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RhYmxlOjk2Njc0MmZlMmUyZjQzZDFhZDIwMTRhMGM3YjM1NTJjL3RhYmxlcmFuZ2U6OTY2NzQyZmUyZTJmNDNkMWFkMjAxNGEwYzdiMzU1MmNfNi0xLTEtMS0zODU5Mg_12cfffc3-a7c5-4437-8c0f-a15310e2c1fd"
      unitRef="usdPerShare">6.49</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RhYmxlOjk2Njc0MmZlMmUyZjQzZDFhZDIwMTRhMGM3YjM1NTJjL3RhYmxlcmFuZ2U6OTY2NzQyZmUyZTJmNDNkMWFkMjAxNGEwYzdiMzU1MmNfNi0zLTEtMS0zODU5Mg_8dfe1c31-85da-4b42-ac4a-300064cbca0d"
      unitRef="usdPerShare">6.32</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RhYmxlOjk2Njc0MmZlMmUyZjQzZDFhZDIwMTRhMGM3YjM1NTJjL3RhYmxlcmFuZ2U6OTY2NzQyZmUyZTJmNDNkMWFkMjAxNGEwYzdiMzU1MmNfNi01LTEtMS0zODU5Mg_88f670f2-7f8a-4aa5-bf75-923b6e2550f4"
      unitRef="usdPerShare">6.43</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RhYmxlOjk2Njc0MmZlMmUyZjQzZDFhZDIwMTRhMGM3YjM1NTJjL3RhYmxlcmFuZ2U6OTY2NzQyZmUyZTJmNDNkMWFkMjAxNGEwYzdiMzU1MmNfNi03LTEtMS0zODU5Mg_f3f3b72e-5ada-402f-a31d-930fddaec8cb"
      unitRef="usdPerShare">6.58</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <gntx:ShareBasedCompensationRestrictedPeriod
      contextRef="i29ea78c69c9c458baac77648a1e17371_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RleHRyZWdpb246YjQzOWE1ZDhjMzNhNGQ1M2I0ZjZiYTUxOWNkZDEzYmRfNDA5MQ_396c32c2-165e-442d-9d58-32334911de6a">P10Y</gntx:ShareBasedCompensationRestrictedPeriod>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="i8324e59849184699bc3595883d131cda_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RleHRyZWdpb246YjQzOWE1ZDhjMzNhNGQ1M2I0ZjZiYTUxOWNkZDEzYmRfNDE4OA_2c98a566-18ed-42b9-9614-1f938b244f2e"
      unitRef="usd">47881596</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:RestrictedStockExpense
      contextRef="i557a8309808a4d90bebd38579b014eaf_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RleHRyZWdpb246YjQzOWE1ZDhjMzNhNGQ1M2I0ZjZiYTUxOWNkZDEzYmRfMTA5OTUxMTYzNDM3MA_90570568-605c-4d9c-8fae-f5f00e57824a"
      unitRef="usd">5335072</us-gaap:RestrictedStockExpense>
    <us-gaap:RestrictedStockExpense
      contextRef="i29ea78c69c9c458baac77648a1e17371_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RleHRyZWdpb246YjQzOWE1ZDhjMzNhNGQ1M2I0ZjZiYTUxOWNkZDEzYmRfNDUwMw_7e598e85-1106-4701-8bef-e4e65f12e2e0"
      unitRef="usd">10625877</us-gaap:RestrictedStockExpense>
    <us-gaap:RestrictedStockExpense
      contextRef="ia118a3f4b419467b94f1913167acedc6_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RleHRyZWdpb246YjQzOWE1ZDhjMzNhNGQ1M2I0ZjZiYTUxOWNkZDEzYmRfMTA5OTUxMTYzNDM4Ng_5cb37830-c070-4822-a157-8f3e66c14a2d"
      unitRef="usd">4459401</us-gaap:RestrictedStockExpense>
    <us-gaap:RestrictedStockExpense
      contextRef="i58137914003d4f97a7342188d92f3374_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RleHRyZWdpb246YjQzOWE1ZDhjMzNhNGQ1M2I0ZjZiYTUxOWNkZDEzYmRfNDU3NA_24d13c42-e189-4194-89ce-a3ec8e576e2f"
      unitRef="usd">8762376</us-gaap:RestrictedStockExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="i0a4c34d64d9c414d844b4fbc2a0ceca1_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RleHRyZWdpb246YjQzOWE1ZDhjMzNhNGQ1M2I0ZjZiYTUxOWNkZDEzYmRfNTM2NQ_a6e306ad-c3c7-4222-8ea7-b97fd0816abf"
      unitRef="usd">10269387</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="ia42080d25ba14776943d335912758618_I20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RleHRyZWdpb246YjQzOWE1ZDhjMzNhNGQ1M2I0ZjZiYTUxOWNkZDEzYmRfNTY1MQ_c050646e-b780-42b1-aea9-1d901c22a7fc"
      unitRef="shares">2000000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate
      contextRef="ie97cfd6ad6314181b7e32389bbee46f4_D20220101-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RleHRyZWdpb246YjQzOWE1ZDhjMzNhNGQ1M2I0ZjZiYTUxOWNkZDEzYmRfNTcyMw_e6817d6b-ccbb-4645-bc78-3151b350da08"
      unitRef="number">0.85</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate>
    <gntx:ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountRecognizedAsCompensationExpense
      contextRef="ie97cfd6ad6314181b7e32389bbee46f4_D20220101-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RleHRyZWdpb246YjQzOWE1ZDhjMzNhNGQ1M2I0ZjZiYTUxOWNkZDEzYmRfNTgyOQ_28f5c86d-c423-4a20-bfb1-87dd5fa8e4ce"
      unitRef="number">0.15</gntx:ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountRecognizedAsCompensationExpense>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod
      contextRef="ie97cfd6ad6314181b7e32389bbee46f4_D20220101-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RleHRyZWdpb246YjQzOWE1ZDhjMzNhNGQ1M2I0ZjZiYTUxOWNkZDEzYmRfNTkyMg_b8379b41-4e89-4633-a743-4d9bff5fcccd"
      unitRef="shares">1624122</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="i501b147aa08b4ae886015e14a6d45007_I20220531"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RleHRyZWdpb246YjQzOWE1ZDhjMzNhNGQ1M2I0ZjZiYTUxOWNkZDEzYmRfMjE5OTAyMzI2MzE2OQ_8890ab66-6b8e-4849-b8de-b19bbf097898"
      unitRef="shares">2000000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate
      contextRef="i4315bfa493a34f1a8b658ecec52dffa9_D20220501-20220531"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RleHRyZWdpb246YjQzOWE1ZDhjMzNhNGQ1M2I0ZjZiYTUxOWNkZDEzYmRfMjE5OTAyMzI2MzE4MA_2bfcac20-b050-4628-97b7-656f881a4f3d"
      unitRef="number">0.85</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate>
    <gntx:ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountRecognizedAsCompensationExpense
      contextRef="i4315bfa493a34f1a8b658ecec52dffa9_D20220501-20220531"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV81NS9mcmFnOmI0MzlhNWQ4YzMzYTRkNTNiNGY2YmE1MTljZGQxM2JkL3RleHRyZWdpb246YjQzOWE1ZDhjMzNhNGQ1M2I0ZjZiYTUxOWNkZDEzYmRfMjE5OTAyMzI2MzE2NA_115b963a-b5c7-4642-9d50-398eca8cc428"
      unitRef="number">0.15</gntx:ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountRecognizedAsCompensationExpense>
    <us-gaap:ComprehensiveIncomeNoteTextBlock
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RleHRyZWdpb246ZjQ3YjY3ZjNjNjQ2NDE5ZDg4MDM5ZjI2YWQ1Yjg5OGZfNjY1_c0cc480e-0508-4201-856f-31949883da54">Comprehensive Income&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Comprehensive income reflects the change in equity of a business enterprise during a period from transactions and other events and circumstances from non-owner sources. For the Company, comprehensive income represents net income adjusted for unrealized gains and losses on certain debt investments and foreign currency translation adjustments.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table presents the net changes in the Company's accumulated other comprehensive income by component (all amounts shown are net of tax):&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&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:42.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.516%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.385%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.516%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.385%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.385%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.516%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.520%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended June 30,&lt;/span&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="6" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 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="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&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="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign currency translation adjustments:&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;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;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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at beginning of period&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,169&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(83,367)&lt;/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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;920,589&#160;&lt;/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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;769,045&#160;&lt;/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;div style="padding-left:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other Comprehensive (loss) income before reclassifications&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,131,326)&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;963,199&#160;&lt;/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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,027,746)&lt;/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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;110,787&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net current-period change&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,131,326)&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;963,199&#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="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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,027,746)&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="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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;110,787&#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;div style="padding-left:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at end of period&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,107,157)&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;879,832&#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;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,107,157)&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="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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;879,832&#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 style="height:6pt"&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: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:1pt solid #000000;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;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unrealized gains on available-for-sale debt 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;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;div style="padding-left:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at beginning of period&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,151,577)&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,038,034&#160;&lt;/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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,006,655&#160;&lt;/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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,082,007&#160;&lt;/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;div style="padding-left:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other Comprehensive (loss) income before reclassifications&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,903,717)&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,610,141&#160;&lt;/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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(9,327,653)&lt;/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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,082,477)&lt;/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;div style="padding-left:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amounts reclassified from accumulated other comprehensive income&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;206,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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(262,969)&lt;/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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;472,276&#160;&lt;/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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(614,324)&lt;/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;div style="padding-left:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net current-period change&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,697,145)&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,347,172&#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;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,855,377)&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="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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,696,801)&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;div style="padding-left:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at end of period&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,848,722)&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,385,206&#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="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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,848,722)&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="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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,385,206&#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="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;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;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;tr style="height:3pt"&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;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;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;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accumulated other comprehensive (loss) income, end of period&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10,955,879)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom: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;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,265,038&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom: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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10,955,879)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,265,038&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #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="padding-left:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;  &lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table presents details of reclassifications out of accumulated other comprehensive (loss) income for the three and six months ended June 30, 2022 and 2021:&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt"&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:37.935%"/&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.110%"/&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:8.110%"/&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:8.110%"/&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:8.110%"/&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:19.813%"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Details about Accumulated Other Comprehensive Income Components&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Amounts Reclassified from Other Comprehensive (Loss) 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Affected Line item in the Consolidated Statements of Income&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 30,&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&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;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unrealized (losses) gains on available-for-sale debt 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;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;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Realized (loss) gain on sale&lt;br/&gt;&#160;of securities&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:'Arial',sans-serif;font-size:9pt;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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(261,483)&lt;/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:'Arial',sans-serif;font-size:9pt;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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;332,872&#160;&lt;/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:'Arial',sans-serif;font-size:9pt;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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(597,818)&lt;/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:'Arial',sans-serif;font-size:9pt;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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;777,625&#160;&lt;/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:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Investment income&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Provision for income taxes&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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;54,911&#160;&lt;/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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(69,903)&lt;/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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;125,542&#160;&lt;/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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(163,301)&lt;/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:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Provision for income taxes&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total net reclassifications for the period&lt;/span&gt;&lt;/td&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:'Arial',sans-serif;font-size:9pt;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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(206,572)&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 #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:'Arial',sans-serif;font-size:9pt;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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;262,969&#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:'Arial',sans-serif;font-size:9pt;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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(472,276)&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:'Arial',sans-serif;font-size:9pt;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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;614,324&#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="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net of tax&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;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;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;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;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;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;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;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:ComprehensiveIncomeNoteTextBlock>
    <us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RleHRyZWdpb246ZjQ3YjY3ZjNjNjQ2NDE5ZDg4MDM5ZjI2YWQ1Yjg5OGZfNjY2_dbb643cb-db2d-47ba-8641-cefc4d93f227">The following table presents the net changes in the Company's accumulated other comprehensive income by component (all amounts shown are net of tax):&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:42.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.516%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.385%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.516%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.385%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.385%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.516%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.520%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended June 30,&lt;/span&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="6" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 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="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&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="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign currency translation adjustments:&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;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;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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at beginning of period&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,169&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(83,367)&lt;/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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;920,589&#160;&lt;/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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;769,045&#160;&lt;/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;div style="padding-left:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other Comprehensive (loss) income before reclassifications&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,131,326)&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;963,199&#160;&lt;/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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,027,746)&lt;/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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;110,787&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net current-period change&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,131,326)&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;963,199&#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="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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,027,746)&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="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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;110,787&#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;div style="padding-left:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at end of period&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,107,157)&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;879,832&#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;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,107,157)&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="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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;879,832&#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 style="height:6pt"&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: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:1pt solid #000000;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;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unrealized gains on available-for-sale debt 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;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;div style="padding-left:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at beginning of period&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,151,577)&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,038,034&#160;&lt;/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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,006,655&#160;&lt;/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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,082,007&#160;&lt;/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;div style="padding-left:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other Comprehensive (loss) income before reclassifications&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,903,717)&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,610,141&#160;&lt;/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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(9,327,653)&lt;/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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,082,477)&lt;/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;div style="padding-left:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amounts reclassified from accumulated other comprehensive income&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;206,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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(262,969)&lt;/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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;472,276&#160;&lt;/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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(614,324)&lt;/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;div style="padding-left:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net current-period change&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,697,145)&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,347,172&#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;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,855,377)&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="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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,696,801)&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;div style="padding-left:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at end of period&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,848,722)&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,385,206&#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="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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,848,722)&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="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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,385,206&#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="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;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;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;tr style="height:3pt"&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;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;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;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accumulated other comprehensive (loss) income, end of period&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10,955,879)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom: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;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,265,038&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom: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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10,955,879)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,265,038&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock>
    <us-gaap:StockholdersEquity
      contextRef="ie6bc0019f0144b3b948d3f1bf6a5e20f_I20220331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjk2NjBkYjViOWRkYTQxMzdhNTYxMWJhMDVjOWNhODhiL3RhYmxlcmFuZ2U6OTY2MGRiNWI5ZGRhNDEzN2E1NjExYmEwNWM5Y2E4OGJfMy0xLTEtMS0zODU5Mg_4dd4ace8-0eed-44e0-aca8-5f8ca3381841"
      unitRef="usd">24169</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i499eadeb011641498494dca730f8b9fd_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjk2NjBkYjViOWRkYTQxMzdhNTYxMWJhMDVjOWNhODhiL3RhYmxlcmFuZ2U6OTY2MGRiNWI5ZGRhNDEzN2E1NjExYmEwNWM5Y2E4OGJfMy0zLTEtMS0zODU5Mg_5dfabef9-172b-4413-8bb7-d791f1328803"
      unitRef="usd">-83367</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="id240eb15f7c248fca5c17c3356ae1e72_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjk2NjBkYjViOWRkYTQxMzdhNTYxMWJhMDVjOWNhODhiL3RhYmxlcmFuZ2U6OTY2MGRiNWI5ZGRhNDEzN2E1NjExYmEwNWM5Y2E4OGJfMy02LTEtMS0zODU5Mg_3c7c16a2-8bbd-41cb-a680-5ebc473b443b"
      unitRef="usd">920589</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i36de72c522334de88c9d9f685a4646a4_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjk2NjBkYjViOWRkYTQxMzdhNTYxMWJhMDVjOWNhODhiL3RhYmxlcmFuZ2U6OTY2MGRiNWI5ZGRhNDEzN2E1NjExYmEwNWM5Y2E4OGJfMy03LTEtMS0zODU5Mg_8b618ea6-f1f2-4ad0-81eb-2e896855c8f9"
      unitRef="usd">769045</us-gaap:StockholdersEquity>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="i2059ba2985734c14a38b06700265ff29_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjk2NjBkYjViOWRkYTQxMzdhNTYxMWJhMDVjOWNhODhiL3RhYmxlcmFuZ2U6OTY2MGRiNWI5ZGRhNDEzN2E1NjExYmEwNWM5Y2E4OGJfNC0xLTEtMS0zODU5Mg_f85914dc-d445-4970-9924-e3a0aefafffb"
      unitRef="usd">-3131326</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="id6dff6f188ae4b96b44e55d060f12148_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjk2NjBkYjViOWRkYTQxMzdhNTYxMWJhMDVjOWNhODhiL3RhYmxlcmFuZ2U6OTY2MGRiNWI5ZGRhNDEzN2E1NjExYmEwNWM5Y2E4OGJfNC0zLTEtMS0zODU5Mg_1f2d9ce2-8aeb-4439-a4e0-b66e50d096fd"
      unitRef="usd">963199</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="i9baa8e4e04eb4d6e9ba1e6d82b21e201_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjk2NjBkYjViOWRkYTQxMzdhNTYxMWJhMDVjOWNhODhiL3RhYmxlcmFuZ2U6OTY2MGRiNWI5ZGRhNDEzN2E1NjExYmEwNWM5Y2E4OGJfNC02LTEtMS0zODU5Mg_1334fd11-2e4b-4001-9472-bed246e87947"
      unitRef="usd">-4027746</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="iec9782579e8b4565a5d8c9df543c23e4_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjk2NjBkYjViOWRkYTQxMzdhNTYxMWJhMDVjOWNhODhiL3RhYmxlcmFuZ2U6OTY2MGRiNWI5ZGRhNDEzN2E1NjExYmEwNWM5Y2E4OGJfNC03LTEtMS0zODU5Mg_8c8c5868-3161-4c0a-86b2-fe4d6a347f96"
      unitRef="usd">110787</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i2059ba2985734c14a38b06700265ff29_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjk2NjBkYjViOWRkYTQxMzdhNTYxMWJhMDVjOWNhODhiL3RhYmxlcmFuZ2U6OTY2MGRiNWI5ZGRhNDEzN2E1NjExYmEwNWM5Y2E4OGJfNi0xLTEtMS0zODU5Mg_e330f5e7-0e5b-4835-ab42-253430ef99f8"
      unitRef="usd">-3131326</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="id6dff6f188ae4b96b44e55d060f12148_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjk2NjBkYjViOWRkYTQxMzdhNTYxMWJhMDVjOWNhODhiL3RhYmxlcmFuZ2U6OTY2MGRiNWI5ZGRhNDEzN2E1NjExYmEwNWM5Y2E4OGJfNi0zLTEtMS0zODU5Mg_efcaab2d-aece-40ca-bd29-ec8b58b5a6c5"
      unitRef="usd">963199</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i9baa8e4e04eb4d6e9ba1e6d82b21e201_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjk2NjBkYjViOWRkYTQxMzdhNTYxMWJhMDVjOWNhODhiL3RhYmxlcmFuZ2U6OTY2MGRiNWI5ZGRhNDEzN2E1NjExYmEwNWM5Y2E4OGJfNi02LTEtMS0zODU5Mg_f5ec2b65-7569-4f41-9e60-b56c18ba10c4"
      unitRef="usd">-4027746</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="iec9782579e8b4565a5d8c9df543c23e4_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjk2NjBkYjViOWRkYTQxMzdhNTYxMWJhMDVjOWNhODhiL3RhYmxlcmFuZ2U6OTY2MGRiNWI5ZGRhNDEzN2E1NjExYmEwNWM5Y2E4OGJfNi03LTEtMS0zODU5Mg_4975a69d-ca65-475c-a49e-6a54e3a85cd2"
      unitRef="usd">110787</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockholdersEquity
      contextRef="i21e448b21e6a4865aa770a8c4ca28309_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjk2NjBkYjViOWRkYTQxMzdhNTYxMWJhMDVjOWNhODhiL3RhYmxlcmFuZ2U6OTY2MGRiNWI5ZGRhNDEzN2E1NjExYmEwNWM5Y2E4OGJfNy0xLTEtMS0zODU5Mg_73a2f45e-c1ce-4d27-94da-ea14e172c9ed"
      unitRef="usd">-3107157</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i84757703b2e542f89ae9ace3d8c0372f_I20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjk2NjBkYjViOWRkYTQxMzdhNTYxMWJhMDVjOWNhODhiL3RhYmxlcmFuZ2U6OTY2MGRiNWI5ZGRhNDEzN2E1NjExYmEwNWM5Y2E4OGJfNy0zLTEtMS0zODU5Mg_43ea830e-4f28-4632-b1a1-50150da4d8f7"
      unitRef="usd">879832</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i21e448b21e6a4865aa770a8c4ca28309_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjk2NjBkYjViOWRkYTQxMzdhNTYxMWJhMDVjOWNhODhiL3RhYmxlcmFuZ2U6OTY2MGRiNWI5ZGRhNDEzN2E1NjExYmEwNWM5Y2E4OGJfNy02LTEtMS0zODU5Mg_6e10f1ff-b923-4369-bee2-f8b07d634845"
      unitRef="usd">-3107157</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i84757703b2e542f89ae9ace3d8c0372f_I20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjk2NjBkYjViOWRkYTQxMzdhNTYxMWJhMDVjOWNhODhiL3RhYmxlcmFuZ2U6OTY2MGRiNWI5ZGRhNDEzN2E1NjExYmEwNWM5Y2E4OGJfNy03LTEtMS0zODU5Mg_e20d5e8d-712b-46da-abca-859202421620"
      unitRef="usd">879832</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i7983f178f6e04ceea2bf7f0805e276bd_I20220331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjk2NjBkYjViOWRkYTQxMzdhNTYxMWJhMDVjOWNhODhiL3RhYmxlcmFuZ2U6OTY2MGRiNWI5ZGRhNDEzN2E1NjExYmEwNWM5Y2E4OGJfMTAtMS0xLTEtMzg1OTI_198f2780-3d96-4a63-8cc0-9293cb7d91bf"
      unitRef="usd">-5151577</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ic795a8d3080b4b7891336dfee71ed4da_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjk2NjBkYjViOWRkYTQxMzdhNTYxMWJhMDVjOWNhODhiL3RhYmxlcmFuZ2U6OTY2MGRiNWI5ZGRhNDEzN2E1NjExYmEwNWM5Y2E4OGJfMTAtMy0xLTEtMzg1OTI_8e0486db-7bcb-4049-8f3d-028f22b9cd63"
      unitRef="usd">2038034</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ib1980d8629734362996f6f5190e22508_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjk2NjBkYjViOWRkYTQxMzdhNTYxMWJhMDVjOWNhODhiL3RhYmxlcmFuZ2U6OTY2MGRiNWI5ZGRhNDEzN2E1NjExYmEwNWM5Y2E4OGJfMTAtNi0xLTEtMzg1OTI_cf524090-8a1a-4d70-9fd8-f2581b0fc3ef"
      unitRef="usd">1006655</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i27e824a4edce4cfe9606053427242bb4_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjk2NjBkYjViOWRkYTQxMzdhNTYxMWJhMDVjOWNhODhiL3RhYmxlcmFuZ2U6OTY2MGRiNWI5ZGRhNDEzN2E1NjExYmEwNWM5Y2E4OGJfMTAtNy0xLTEtMzg1OTI_c1b82e78-9e76-46a2-af24-23cbb3b3e92e"
      unitRef="usd">6082007</us-gaap:StockholdersEquity>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="i28e98300881b443383794395201f45a9_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjk2NjBkYjViOWRkYTQxMzdhNTYxMWJhMDVjOWNhODhiL3RhYmxlcmFuZ2U6OTY2MGRiNWI5ZGRhNDEzN2E1NjExYmEwNWM5Y2E4OGJfMTEtMS0xLTEtMzg1OTI_e77c2afd-c30c-463d-90ed-6427544647cc"
      unitRef="usd">-2903717</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="i724aa8e8b7514afdbdaf805dfe5f6c5d_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjk2NjBkYjViOWRkYTQxMzdhNTYxMWJhMDVjOWNhODhiL3RhYmxlcmFuZ2U6OTY2MGRiNWI5ZGRhNDEzN2E1NjExYmEwNWM5Y2E4OGJfMTEtMy0xLTEtMzg1OTI_a2563f6d-a72c-4ab0-b412-2fe456a620c9"
      unitRef="usd">1610141</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="i046f64d8dcb141b1b4ae6d73cd4a3926_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjk2NjBkYjViOWRkYTQxMzdhNTYxMWJhMDVjOWNhODhiL3RhYmxlcmFuZ2U6OTY2MGRiNWI5ZGRhNDEzN2E1NjExYmEwNWM5Y2E4OGJfMTEtNi0xLTEtMzg1OTI_06f804fe-fd36-490b-87b0-19ce01b2e023"
      unitRef="usd">-9327653</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="i0dc8a4d2dd8d463687d8b3d794727a33_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjk2NjBkYjViOWRkYTQxMzdhNTYxMWJhMDVjOWNhODhiL3RhYmxlcmFuZ2U6OTY2MGRiNWI5ZGRhNDEzN2E1NjExYmEwNWM5Y2E4OGJfMTEtNy0xLTEtMzg1OTI_daf1c4de-3c65-420f-ba46-6f24137f497f"
      unitRef="usd">-2082477</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax
      contextRef="i28e98300881b443383794395201f45a9_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjk2NjBkYjViOWRkYTQxMzdhNTYxMWJhMDVjOWNhODhiL3RhYmxlcmFuZ2U6OTY2MGRiNWI5ZGRhNDEzN2E1NjExYmEwNWM5Y2E4OGJfMTItMS0xLTEtMzg1OTI_9e52b0af-7a2c-4b20-88ef-c4c90c9b9037"
      unitRef="usd">-206572</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax>
    <us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax
      contextRef="i724aa8e8b7514afdbdaf805dfe5f6c5d_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjk2NjBkYjViOWRkYTQxMzdhNTYxMWJhMDVjOWNhODhiL3RhYmxlcmFuZ2U6OTY2MGRiNWI5ZGRhNDEzN2E1NjExYmEwNWM5Y2E4OGJfMTItMy0xLTEtMzg1OTI_cd669797-4e22-4373-9934-568bf716045f"
      unitRef="usd">262969</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax>
    <us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax
      contextRef="i046f64d8dcb141b1b4ae6d73cd4a3926_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjk2NjBkYjViOWRkYTQxMzdhNTYxMWJhMDVjOWNhODhiL3RhYmxlcmFuZ2U6OTY2MGRiNWI5ZGRhNDEzN2E1NjExYmEwNWM5Y2E4OGJfMTItNi0xLTEtMzg1OTI_9383df51-fc5b-4f8f-9574-b817533ba569"
      unitRef="usd">-472276</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax>
    <us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax
      contextRef="i0dc8a4d2dd8d463687d8b3d794727a33_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjk2NjBkYjViOWRkYTQxMzdhNTYxMWJhMDVjOWNhODhiL3RhYmxlcmFuZ2U6OTY2MGRiNWI5ZGRhNDEzN2E1NjExYmEwNWM5Y2E4OGJfMTItNy0xLTEtMzg1OTI_80f0475a-e458-4c06-afe6-190e7a699e4e"
      unitRef="usd">614324</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i28e98300881b443383794395201f45a9_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjk2NjBkYjViOWRkYTQxMzdhNTYxMWJhMDVjOWNhODhiL3RhYmxlcmFuZ2U6OTY2MGRiNWI5ZGRhNDEzN2E1NjExYmEwNWM5Y2E4OGJfMTMtMS0xLTEtMzg1OTI_c0e5ac45-4069-4b27-9184-01a35406c9da"
      unitRef="usd">-2697145</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i724aa8e8b7514afdbdaf805dfe5f6c5d_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjk2NjBkYjViOWRkYTQxMzdhNTYxMWJhMDVjOWNhODhiL3RhYmxlcmFuZ2U6OTY2MGRiNWI5ZGRhNDEzN2E1NjExYmEwNWM5Y2E4OGJfMTMtMy0xLTEtMzg1OTI_d20fd9d8-737b-40c2-92ab-df724f6e5b7f"
      unitRef="usd">1347172</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i046f64d8dcb141b1b4ae6d73cd4a3926_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjk2NjBkYjViOWRkYTQxMzdhNTYxMWJhMDVjOWNhODhiL3RhYmxlcmFuZ2U6OTY2MGRiNWI5ZGRhNDEzN2E1NjExYmEwNWM5Y2E4OGJfMTMtNi0xLTEtMzg1OTI_478e6e65-f29d-4462-90bd-d2966ecab3d6"
      unitRef="usd">-8855377</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i0dc8a4d2dd8d463687d8b3d794727a33_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjk2NjBkYjViOWRkYTQxMzdhNTYxMWJhMDVjOWNhODhiL3RhYmxlcmFuZ2U6OTY2MGRiNWI5ZGRhNDEzN2E1NjExYmEwNWM5Y2E4OGJfMTMtNy0xLTEtMzg1OTI_dd43d2e8-f047-4064-9fb0-bc837e6f2b4a"
      unitRef="usd">-2696801</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockholdersEquity
      contextRef="i1e62900303c14ef0aad9688bca409180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjk2NjBkYjViOWRkYTQxMzdhNTYxMWJhMDVjOWNhODhiL3RhYmxlcmFuZ2U6OTY2MGRiNWI5ZGRhNDEzN2E1NjExYmEwNWM5Y2E4OGJfMTQtMS0xLTEtMzg1OTI_a7239154-1fc2-496c-9754-bc1afd6b8dc9"
      unitRef="usd">-7848722</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i4a2e437d0dd04f8786c1ca80a2b12525_I20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjk2NjBkYjViOWRkYTQxMzdhNTYxMWJhMDVjOWNhODhiL3RhYmxlcmFuZ2U6OTY2MGRiNWI5ZGRhNDEzN2E1NjExYmEwNWM5Y2E4OGJfMTQtMy0xLTEtMzg1OTI_fdda7113-ce1c-4931-a305-73b844038848"
      unitRef="usd">3385206</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i1e62900303c14ef0aad9688bca409180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjk2NjBkYjViOWRkYTQxMzdhNTYxMWJhMDVjOWNhODhiL3RhYmxlcmFuZ2U6OTY2MGRiNWI5ZGRhNDEzN2E1NjExYmEwNWM5Y2E4OGJfMTQtNi0xLTEtMzg1OTI_75ad994e-cd08-4b66-9d91-a390d0ae2e58"
      unitRef="usd">-7848722</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i4a2e437d0dd04f8786c1ca80a2b12525_I20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjk2NjBkYjViOWRkYTQxMzdhNTYxMWJhMDVjOWNhODhiL3RhYmxlcmFuZ2U6OTY2MGRiNWI5ZGRhNDEzN2E1NjExYmEwNWM5Y2E4OGJfMTQtNy0xLTEtMzg1OTI_109cae20-a757-4ee2-96a4-326625228668"
      unitRef="usd">3385206</us-gaap:StockholdersEquity>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="ia528c73440e347a49538e4c275f550b6_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjk2NjBkYjViOWRkYTQxMzdhNTYxMWJhMDVjOWNhODhiL3RhYmxlcmFuZ2U6OTY2MGRiNWI5ZGRhNDEzN2E1NjExYmEwNWM5Y2E4OGJfMjItMS0xLTEtMzg1OTI_e8e30119-bac3-4e04-aecb-1323f38a5880"
      unitRef="usd">-10955879</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i57528b72030b40ad81e353277154d3ec_I20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjk2NjBkYjViOWRkYTQxMzdhNTYxMWJhMDVjOWNhODhiL3RhYmxlcmFuZ2U6OTY2MGRiNWI5ZGRhNDEzN2E1NjExYmEwNWM5Y2E4OGJfMjItMy0xLTEtMzg1OTI_f1209da8-008b-4602-b9e3-7d2f54cfc023"
      unitRef="usd">4265038</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="ia528c73440e347a49538e4c275f550b6_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjk2NjBkYjViOWRkYTQxMzdhNTYxMWJhMDVjOWNhODhiL3RhYmxlcmFuZ2U6OTY2MGRiNWI5ZGRhNDEzN2E1NjExYmEwNWM5Y2E4OGJfMjItNi0xLTEtMzg1OTI_4f233981-5c46-4cef-be07-0e8607ac04c0"
      unitRef="usd">-10955879</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i57528b72030b40ad81e353277154d3ec_I20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjk2NjBkYjViOWRkYTQxMzdhNTYxMWJhMDVjOWNhODhiL3RhYmxlcmFuZ2U6OTY2MGRiNWI5ZGRhNDEzN2E1NjExYmEwNWM5Y2E4OGJfMjItNy0xLTEtMzg1OTI_7fec7dd8-e2ff-495a-a672-70e19cfcd591"
      unitRef="usd">4265038</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeTableTextBlock
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RleHRyZWdpb246ZjQ3YjY3ZjNjNjQ2NDE5ZDg4MDM5ZjI2YWQ1Yjg5OGZfNjY5_4357b391-0205-42c2-a1bb-f96d5dadfbe0">&lt;div style="padding-left:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table presents details of reclassifications out of accumulated other comprehensive (loss) income for the three and six months ended June 30, 2022 and 2021:&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt"&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:37.935%"/&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.110%"/&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:8.110%"/&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:8.110%"/&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:8.110%"/&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:19.813%"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Details about Accumulated Other Comprehensive Income Components&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Amounts Reclassified from Other Comprehensive (Loss) 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Affected Line item in the Consolidated Statements of Income&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 30,&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&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;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unrealized (losses) gains on available-for-sale debt 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;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;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Realized (loss) gain on sale&lt;br/&gt;&#160;of securities&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:'Arial',sans-serif;font-size:9pt;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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(261,483)&lt;/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:'Arial',sans-serif;font-size:9pt;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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;332,872&#160;&lt;/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:'Arial',sans-serif;font-size:9pt;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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(597,818)&lt;/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:'Arial',sans-serif;font-size:9pt;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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;777,625&#160;&lt;/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:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Investment income&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Provision for income taxes&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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;54,911&#160;&lt;/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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(69,903)&lt;/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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;125,542&#160;&lt;/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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(163,301)&lt;/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:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Provision for income taxes&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total net reclassifications for the period&lt;/span&gt;&lt;/td&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:'Arial',sans-serif;font-size:9pt;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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(206,572)&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 #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:'Arial',sans-serif;font-size:9pt;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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;262,969&#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:'Arial',sans-serif;font-size:9pt;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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(472,276)&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:'Arial',sans-serif;font-size:9pt;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:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;614,324&#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="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net of tax&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;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;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;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;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;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;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;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:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeTableTextBlock>
    <us-gaap:EquitySecuritiesFvNiRealizedGainLoss
      contextRef="ida65420a86334e37ac69a02e5773a916_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjM2NTAwN2MzOTY3OTQ2YmM5MzJmOTg1ZDYwNDJhMGU2L3RhYmxlcmFuZ2U6MzY1MDA3YzM5Njc5NDZiYzkzMmY5ODVkNjA0MmEwZTZfNC0yLTEtMS0zODU5Mg_b80f7b00-5758-4818-b626-67676434f68f"
      unitRef="usd">-261483</us-gaap:EquitySecuritiesFvNiRealizedGainLoss>
    <us-gaap:EquitySecuritiesFvNiRealizedGainLoss
      contextRef="i165897944ca94f51ae28fb9a3d091ddb_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjM2NTAwN2MzOTY3OTQ2YmM5MzJmOTg1ZDYwNDJhMGU2L3RhYmxlcmFuZ2U6MzY1MDA3YzM5Njc5NDZiYzkzMmY5ODVkNjA0MmEwZTZfNC00LTEtMS0zODU5Mg_29a8885e-985a-4354-9050-535a6fb01f54"
      unitRef="usd">332872</us-gaap:EquitySecuritiesFvNiRealizedGainLoss>
    <us-gaap:EquitySecuritiesFvNiRealizedGainLoss
      contextRef="ib6494b6c4f584c4c816cf7fa3acf5e4e_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjM2NTAwN2MzOTY3OTQ2YmM5MzJmOTg1ZDYwNDJhMGU2L3RhYmxlcmFuZ2U6MzY1MDA3YzM5Njc5NDZiYzkzMmY5ODVkNjA0MmEwZTZfNC02LTEtMS0zODU5Mg_593e237d-7b08-44bb-af2c-8722df7d2e2a"
      unitRef="usd">-597818</us-gaap:EquitySecuritiesFvNiRealizedGainLoss>
    <us-gaap:EquitySecuritiesFvNiRealizedGainLoss
      contextRef="i20be908802574c5f98abb8b90d636107_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjM2NTAwN2MzOTY3OTQ2YmM5MzJmOTg1ZDYwNDJhMGU2L3RhYmxlcmFuZ2U6MzY1MDA3YzM5Njc5NDZiYzkzMmY5ODVkNjA0MmEwZTZfNC04LTEtMS0zODU5Mg_d8f1eb10-53ba-469a-a77a-c177d02cd1fd"
      unitRef="usd">777625</us-gaap:EquitySecuritiesFvNiRealizedGainLoss>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="ida65420a86334e37ac69a02e5773a916_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjM2NTAwN2MzOTY3OTQ2YmM5MzJmOTg1ZDYwNDJhMGU2L3RhYmxlcmFuZ2U6MzY1MDA3YzM5Njc5NDZiYzkzMmY5ODVkNjA0MmEwZTZfNS0yLTEtMS0zODU5Mg_d54a62dc-8ef8-45b4-aaeb-b771c49d8cc8"
      unitRef="usd">-54911</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i165897944ca94f51ae28fb9a3d091ddb_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjM2NTAwN2MzOTY3OTQ2YmM5MzJmOTg1ZDYwNDJhMGU2L3RhYmxlcmFuZ2U6MzY1MDA3YzM5Njc5NDZiYzkzMmY5ODVkNjA0MmEwZTZfNS00LTEtMS0zODU5Mg_de440ee6-dbff-4163-9d6c-45fb2475a45b"
      unitRef="usd">69903</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="ib6494b6c4f584c4c816cf7fa3acf5e4e_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjM2NTAwN2MzOTY3OTQ2YmM5MzJmOTg1ZDYwNDJhMGU2L3RhYmxlcmFuZ2U6MzY1MDA3YzM5Njc5NDZiYzkzMmY5ODVkNjA0MmEwZTZfNS02LTEtMS0zODU5Mg_3a2c4ebe-7544-475b-9ddc-0641080157a2"
      unitRef="usd">-125542</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i20be908802574c5f98abb8b90d636107_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjM2NTAwN2MzOTY3OTQ2YmM5MzJmOTg1ZDYwNDJhMGU2L3RhYmxlcmFuZ2U6MzY1MDA3YzM5Njc5NDZiYzkzMmY5ODVkNjA0MmEwZTZfNS04LTEtMS0zODU5Mg_99c84139-7093-4c36-9b2c-ec116a234ebc"
      unitRef="usd">163301</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax
      contextRef="ida65420a86334e37ac69a02e5773a916_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjM2NTAwN2MzOTY3OTQ2YmM5MzJmOTg1ZDYwNDJhMGU2L3RhYmxlcmFuZ2U6MzY1MDA3YzM5Njc5NDZiYzkzMmY5ODVkNjA0MmEwZTZfNi0yLTEtMS0zODU5Mg_d8509855-682b-4b31-8564-3fecdf41e49f"
      unitRef="usd">-206572</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax>
    <us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax
      contextRef="i165897944ca94f51ae28fb9a3d091ddb_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjM2NTAwN2MzOTY3OTQ2YmM5MzJmOTg1ZDYwNDJhMGU2L3RhYmxlcmFuZ2U6MzY1MDA3YzM5Njc5NDZiYzkzMmY5ODVkNjA0MmEwZTZfNi00LTEtMS0zODU5Mg_b6ff691e-885a-4225-a343-3f8b7d0acbf4"
      unitRef="usd">262969</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax>
    <us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax
      contextRef="ib6494b6c4f584c4c816cf7fa3acf5e4e_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjM2NTAwN2MzOTY3OTQ2YmM5MzJmOTg1ZDYwNDJhMGU2L3RhYmxlcmFuZ2U6MzY1MDA3YzM5Njc5NDZiYzkzMmY5ODVkNjA0MmEwZTZfNi02LTEtMS0zODU5Mg_e67d5362-2490-43f6-883f-3045edecf0cc"
      unitRef="usd">-472276</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax>
    <us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax
      contextRef="i20be908802574c5f98abb8b90d636107_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82MS9mcmFnOmY0N2I2N2YzYzY0NjQxOWQ4ODAzOWYyNmFkNWI4OThmL3RhYmxlOjM2NTAwN2MzOTY3OTQ2YmM5MzJmOTg1ZDYwNDJhMGU2L3RhYmxlcmFuZ2U6MzY1MDA3YzM5Njc5NDZiYzkzMmY5ODVkNjA0MmEwZTZfNi04LTEtMS0zODU5Mg_6d926069-2ddd-41b6-a0e9-d00ec2cf94c9"
      unitRef="usd">614324</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax>
    <us-gaap:DebtDisclosureTextBlock
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82NC9mcmFnOmUyYzdiZTQwNDM0YjRlOTQ4OWY1OTM5OWQwNjQ5YmFhL3RleHRyZWdpb246ZTJjN2JlNDA0MzRiNGU5NDg5ZjU5Mzk5ZDA2NDliYWFfMTI2Mw_00b6a6ea-8f64-48fb-a93b-5fd9510d3a38">Debt and Financing Arrangements&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On October 15, 2018, the Company entered into a Credit Agreement (&#x201c;Credit Agreement&#x201d;) with PNC as the administrative agent and sole lender.  &lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Pursuant to this Credit Agreement, the Company has access to a $150 million senior revolving credit facility (&#x201c;Revolver&#x201d;). Under the terms of the Credit Agreement, the Company is entitled to further request an additional aggregate principal amount of up to $100 million, subject to the satisfaction of certain conditions. In addition, the Company is entitled to the benefit of swing loans from amounts otherwise available under the Revolver in the aggregate principal amount of up to $20 million and to request Letters of Credit from amounts otherwise available under the Revolver in the aggregate principle amount up to $20 million, both subject to certain conditions.  The obligations of the Company under the Credit Agreement are not secured, &lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;but are subject to certain covenants. As of June 30, 2022, there was no outstanding balance on the Revolver.  The Revolver expires on October 15, 2023. &lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Credit Agreement contains customary representations and warranties and certain covenants that place certain limitations on the Company.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of June 30, 2022, the Company is in compliance with its covenants under the Credit Agreement.&lt;/span&gt;&lt;/div&gt;</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="i00f56fb25911447b9a8097ab1bae1c97_I20181015"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82NC9mcmFnOmUyYzdiZTQwNDM0YjRlOTQ4OWY1OTM5OWQwNjQ5YmFhL3RleHRyZWdpb246ZTJjN2JlNDA0MzRiNGU5NDg5ZjU5Mzk5ZDA2NDliYWFfMjQ5_870aa24f-7a51-4245-8f06-6a50d46f6c38"
      unitRef="usd">150000000</us-gaap:DebtInstrumentFaceAmount>
    <gntx:DebtInstrumentAdditionalBorrowingsAvailableFaceAmount
      contextRef="i30b42e8c6b48428eaae2a75fc01e4b00_I20181015"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82NC9mcmFnOmUyYzdiZTQwNDM0YjRlOTQ4OWY1OTM5OWQwNjQ5YmFhL3RleHRyZWdpb246ZTJjN2JlNDA0MzRiNGU5NDg5ZjU5Mzk5ZDA2NDliYWFfNDMz_36789b70-5e49-4e29-8cc7-7482fd6b3c15"
      unitRef="usd">100000000</gntx:DebtInstrumentAdditionalBorrowingsAvailableFaceAmount>
    <gntx:DebtInstrumentAdditionalBorrowingsAvailableFaceAmount
      contextRef="i7f41d96f4eeb457db83fe04574f02008_I20181015"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82NC9mcmFnOmUyYzdiZTQwNDM0YjRlOTQ4OWY1OTM5OWQwNjQ5YmFhL3RleHRyZWdpb246ZTJjN2JlNDA0MzRiNGU5NDg5ZjU5Mzk5ZDA2NDliYWFfNjUw_7d837f7f-d268-47ec-ab2d-4e782921dea8"
      unitRef="usd">20000000</gntx:DebtInstrumentAdditionalBorrowingsAvailableFaceAmount>
    <gntx:DebtInstrumentAdditionalBorrowingsAvailableFaceAmount
      contextRef="idbd25d21abaa4dbaa98269fb96c0f22e_I20181015"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82NC9mcmFnOmUyYzdiZTQwNDM0YjRlOTQ4OWY1OTM5OWQwNjQ5YmFhL3RleHRyZWdpb246ZTJjN2JlNDA0MzRiNGU5NDg5ZjU5Mzk5ZDA2NDliYWFfNzc4_d0f1a7a3-f2ec-4b6f-86d1-1ff164a660b9"
      unitRef="usd">20000000</gntx:DebtInstrumentAdditionalBorrowingsAvailableFaceAmount>
    <us-gaap:LongTermDebt
      contextRef="ie691f877cf1341f3b7f1a2c7deab85c1_I20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV82NC9mcmFnOmUyYzdiZTQwNDM0YjRlOTQ4OWY1OTM5OWQwNjQ5YmFhL3RleHRyZWdpb246ZTJjN2JlNDA0MzRiNGU5NDg5ZjU5Mzk5ZDA2NDliYWFfOTUy_d923d965-25f3-49cf-a463-ac4344bdede5"
      unitRef="usd">0</us-gaap:LongTermDebt>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV83MC9mcmFnOjVkYzAwNTkwMWZhMDRmNTdiZmNmYjVlZmU1OGNiMWExL3RleHRyZWdpb246NWRjMDA1OTAxZmEwNGY1N2JmY2ZiNWVmZTU4Y2IxYTFfNTEx_b620ca44-e316-411f-85d1-2a8f52923933">Equity&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The decrease in common stock during the six months ended June 30, 2022, was primarily due to the repurchases of 2.4 million shares, partially offset by the issuance of 1.1 million shares of the Company&#x2019;s common stock, net of cancellations, under the Company&#x2019;s stock-based compensation plans. The total net decrease was 1.3 million shares. &lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company recorded a cash dividend of $0.120 per share during the second quarter of 2022 as compared to a cash dividend of $0.120 per share during the second quarter of 2021.  The second quarter 2022 dividend of $28.2 million was declared on May&#160;27, 2022, and was paid on July&#160;20, 2022.&lt;/span&gt;&lt;/div&gt;</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV83MC9mcmFnOjVkYzAwNTkwMWZhMDRmNTdiZmNmYjVlZmU1OGNiMWExL3RleHRyZWdpb246NWRjMDA1OTAxZmEwNGY1N2JmY2ZiNWVmZTU4Y2IxYTFfMTAy_4922ecbf-0761-46c0-8d69-2101ab75fa09"
      unitRef="shares">2400000</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV83MC9mcmFnOjVkYzAwNTkwMWZhMDRmNTdiZmNmYjVlZmU1OGNiMWExL3RleHRyZWdpb246NWRjMDA1OTAxZmEwNGY1N2JmY2ZiNWVmZTU4Y2IxYTFfMTQ5_ff5be069-f645-4864-8681-96e00c6f2615"
      unitRef="shares">1100000</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <gntx:NetIncreaseDecreaseInCommonStockSharesFromSharesIssuedInShareBasedCompensationAndSharesRepurchased
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV83MC9mcmFnOjVkYzAwNTkwMWZhMDRmNTdiZmNmYjVlZmU1OGNiMWExL3RleHRyZWdpb246NWRjMDA1OTAxZmEwNGY1N2JmY2ZiNWVmZTU4Y2IxYTFfMjkx_f0f068b8-1790-47c5-aa25-f237b1b0cf89"
      unitRef="shares">-1300000</gntx:NetIncreaseDecreaseInCommonStockSharesFromSharesIssuedInShareBasedCompensationAndSharesRepurchased>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV83MC9mcmFnOjVkYzAwNTkwMWZhMDRmNTdiZmNmYjVlZmU1OGNiMWExL3RleHRyZWdpb246NWRjMDA1OTAxZmEwNGY1N2JmY2ZiNWVmZTU4Y2IxYTFfMzQ0_a711abc4-a11f-42c1-8cf3-16487318b073"
      unitRef="usdPerShare">0.12</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV83MC9mcmFnOjVkYzAwNTkwMWZhMDRmNTdiZmNmYjVlZmU1OGNiMWExL3RleHRyZWdpb246NWRjMDA1OTAxZmEwNGY1N2JmY2ZiNWVmZTU4Y2IxYTFfNDEx_cde87a6c-0197-41f1-a426-a8aafdd238ad"
      unitRef="usdPerShare">0.12</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:Dividends
      contextRef="id4829afb512e4e45b99e8e1d0eb085bd_D20220527-20220527"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV83MC9mcmFnOjVkYzAwNTkwMWZhMDRmNTdiZmNmYjVlZmU1OGNiMWExL3RleHRyZWdpb246NWRjMDA1OTAxZmEwNGY1N2JmY2ZiNWVmZTU4Y2IxYTFfNDY4_801f32ab-330a-4e9d-ac04-e1db85726119"
      unitRef="usd">28200000</us-gaap:Dividends>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV83Ni9mcmFnOjE2N2NkYzAzNmY1YTQxNzU4MDIzNGQ0YjBmYzZlNjdkL3RleHRyZWdpb246MTY3Y2RjMDM2ZjVhNDE3NTgwMjM0ZDRiMGZjNmU2N2RfNjI4_915aeaac-d612-41ae-a201-f6b155e38796">ContingenciesThe Company is periodically involved in legal proceedings, legal actions and claims arising in the normal course of business, including proceedings relating to product liability, intellectual property, safety and health, employment, regulatory, and other matters. Such matters are subject to many uncertainties and outcomes are not predictable. The Company does not believe, however, that at the current time any of these matters constitute material pending legal proceedings that will have a material adverse effect on the financial position or future results of operations or cash flows of the Company.The Company is responding to a subpoena issued by the staff of the Division of Enforcement of the SEC for records from approximately 2015-2019. The Company has been informed that the SEC staff may be reviewing certain accounting determinations, including determinations that the staff believes could have impacted the Company&#x2019;s reported earnings per share for certain periods during that time frame. The Company has continued to assert that its financial statements filed with the SEC in Forms 10-K and 10-Q in 2015-2019 present fairly, in all material respects, its financial condition, results of operations and cash flows as of or for the periods ending on their respective dates. The Company maintains that its actions were appropriate; however, the Company remains open to resolving this matter with the SEC, and therefore, the Company has accrued an amount as of June 30, 2022 for an estimated liability. The Company does not believe the accrued liability is material to the financial statements.</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:SegmentReportingDisclosureTextBlock
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV83OS9mcmFnOmU4N2I4YjNmODZhMjQ4N2I5ZmMzM2U0ZmJhMzZkMTQ2L3RleHRyZWdpb246ZTg3YjhiM2Y4NmEyNDg3YjlmYzMzZTRmYmEzNmQxNDZfOTIx_f5039f20-1295-4d53-9194-65313368e250">Segment Reporting&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company's automotive segment develops and manufactures digital vision and connected car products and electronics, including: automatic-dimming rearview mirrors with and without electronic features; non-auto dimming rearview mirrors with and without electronic features; and other electronics.  The Company also develops and manufactures variably dimming windows and laminate products for the aerospace industry and fire protection products for the commercial construction industry. In 2020, the Company acquired Vaporsens, which specializes in nanofiber chemical sensing. These three non-automotive segments are combined into the "Other" segment as shown below.&lt;/span&gt;&lt;span style="color:#faac16;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; In first quarter of 2021, the Company acquired Guardian, which is combined in the Automotive Segment below. Further information in regards to the Guardian transaction is included in&lt;/span&gt;&lt;span style="color:#faac16;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;&lt;a href="#i6b5225bd7ed0496eb16504b1263c6289_94" style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Note 15&lt;/a&gt;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; of the financial statements.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &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:26.970%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.443%"/&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:16.443%"/&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:16.443%"/&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:16.449%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended June 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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 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="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&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&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenue:&lt;/span&gt;&lt;/div&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;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Automotive Products&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;452,951,028&#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 style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;420,622,653&#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 style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;910,903,581&#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 style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;896,240,089&#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 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,471,974&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,382,373&#160;&lt;/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:#242424;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,770,196&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,489,776&#160;&lt;/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="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;463,423,002&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;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-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;428,005,026&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;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-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;931,673,777&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;911,729,865&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income (Loss) from operations:&lt;/span&gt;&lt;/td&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;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;border-top:3pt double #000000;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="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Automotive Products&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;86,908,119&#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 style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;101,790,310&#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 style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;190,383,628&#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 style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;236,458,363&#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 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,117,150)&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,865,689)&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,286,755)&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,800,041)&lt;/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="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="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:'Arial',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 #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,790,969&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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="padding:0 1pt"/&gt;&lt;td style="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:'Arial',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 #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;99,924,621&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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="padding:0 1pt"/&gt;&lt;td style="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:'Arial',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 #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;189,096,873&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td style="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:'Arial',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 #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;233,658,322&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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:SegmentReportingDisclosureTextBlock>
    <us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV83OS9mcmFnOmU4N2I4YjNmODZhMjQ4N2I5ZmMzM2U0ZmJhMzZkMTQ2L3RleHRyZWdpb246ZTg3YjhiM2Y4NmEyNDg3YjlmYzMzZTRmYmEzNmQxNDZfOTI0_c1b7a192-7cb6-4a5a-b33b-c09818380be5">These three non-automotive segments are combined into the "Other" segment as shown below.&lt;span style="color:#faac16;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; In first quarter of 2021, the Company acquired Guardian, which is combined in the Automotive Segment below. Further information in regards to the Guardian transaction is included in&lt;/span&gt;&lt;span style="color:#faac16;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;&lt;a href="#i6b5225bd7ed0496eb16504b1263c6289_94" style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Note 15&lt;/a&gt;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; of the financial statements.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &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:26.970%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.443%"/&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:16.443%"/&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:16.443%"/&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:16.449%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended June 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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 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="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&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&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenue:&lt;/span&gt;&lt;/div&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;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Automotive Products&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;452,951,028&#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 style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;420,622,653&#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 style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;910,903,581&#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 style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;896,240,089&#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 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,471,974&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,382,373&#160;&lt;/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:#242424;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,770,196&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,489,776&#160;&lt;/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="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;463,423,002&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;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-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;428,005,026&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;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-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;931,673,777&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;911,729,865&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income (Loss) from operations:&lt;/span&gt;&lt;/td&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;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;border-top:3pt double #000000;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="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Automotive Products&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;86,908,119&#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 style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;101,790,310&#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 style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;190,383,628&#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 style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;236,458,363&#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 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,117,150)&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,865,689)&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,286,755)&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,800,041)&lt;/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="padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="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:'Arial',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 #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,790,969&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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="padding:0 1pt"/&gt;&lt;td style="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:'Arial',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 #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;99,924,621&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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="padding:0 1pt"/&gt;&lt;td style="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:'Arial',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 #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;189,096,873&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td style="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:'Arial',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 #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;233,658,322&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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:ScheduleOfSegmentReportingInformationBySegmentTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i8b6f8e94a16046eda619758a3f565909_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV83OS9mcmFnOmU4N2I4YjNmODZhMjQ4N2I5ZmMzM2U0ZmJhMzZkMTQ2L3RhYmxlOjM2M2NmNTA2ZTY3OTQ4MGZhZjFhOTNiNTc0YzU4ZjNiL3RhYmxlcmFuZ2U6MzYzY2Y1MDZlNjc5NDgwZmFmMWE5M2I1NzRjNThmM2JfMy0xLTEtMS0zODU5Mg_4012c287-55b6-4339-b394-7144ea0e74fa"
      unitRef="usd">452951028</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib3b2165867a346b08a7462d9be9bcc0b_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV83OS9mcmFnOmU4N2I4YjNmODZhMjQ4N2I5ZmMzM2U0ZmJhMzZkMTQ2L3RhYmxlOjM2M2NmNTA2ZTY3OTQ4MGZhZjFhOTNiNTc0YzU4ZjNiL3RhYmxlcmFuZ2U6MzYzY2Y1MDZlNjc5NDgwZmFmMWE5M2I1NzRjNThmM2JfMy0zLTEtMS0zODU5Mg_4cef7484-9369-4f4b-85a1-0bfd0f3b5ec8"
      unitRef="usd">420622653</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i090f89bc342e4d59854b4f23acc16eec_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV83OS9mcmFnOmU4N2I4YjNmODZhMjQ4N2I5ZmMzM2U0ZmJhMzZkMTQ2L3RhYmxlOjM2M2NmNTA2ZTY3OTQ4MGZhZjFhOTNiNTc0YzU4ZjNiL3RhYmxlcmFuZ2U6MzYzY2Y1MDZlNjc5NDgwZmFmMWE5M2I1NzRjNThmM2JfMy01LTEtMS0zODU5Mg_b913d867-ae47-4e4b-9bd4-d08ea5ee50a6"
      unitRef="usd">910903581</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0223412db5ee47ccaf5d1721b6fda0e2_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV83OS9mcmFnOmU4N2I4YjNmODZhMjQ4N2I5ZmMzM2U0ZmJhMzZkMTQ2L3RhYmxlOjM2M2NmNTA2ZTY3OTQ4MGZhZjFhOTNiNTc0YzU4ZjNiL3RhYmxlcmFuZ2U6MzYzY2Y1MDZlNjc5NDgwZmFmMWE5M2I1NzRjNThmM2JfMy03LTEtMS0zODU5Mg_7ee8d282-e6e5-4631-b26a-a2a7eb3cb8e0"
      unitRef="usd">896240089</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2e1d3eb88b624daca9acd0a15798cd5c_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV83OS9mcmFnOmU4N2I4YjNmODZhMjQ4N2I5ZmMzM2U0ZmJhMzZkMTQ2L3RhYmxlOjM2M2NmNTA2ZTY3OTQ4MGZhZjFhOTNiNTc0YzU4ZjNiL3RhYmxlcmFuZ2U6MzYzY2Y1MDZlNjc5NDgwZmFmMWE5M2I1NzRjNThmM2JfNC0xLTEtMS0zODU5Mg_df2afd14-c01d-4971-8f6d-ca17f79fa667"
      unitRef="usd">10471974</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2c70cb1021524c9e8baadeec8e3521f6_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV83OS9mcmFnOmU4N2I4YjNmODZhMjQ4N2I5ZmMzM2U0ZmJhMzZkMTQ2L3RhYmxlOjM2M2NmNTA2ZTY3OTQ4MGZhZjFhOTNiNTc0YzU4ZjNiL3RhYmxlcmFuZ2U6MzYzY2Y1MDZlNjc5NDgwZmFmMWE5M2I1NzRjNThmM2JfNC0zLTEtMS0zODU5Mg_a22b9f89-147e-4936-8262-f62ef3214073"
      unitRef="usd">7382373</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i61e75f314459463a964564cb0f306ff3_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV83OS9mcmFnOmU4N2I4YjNmODZhMjQ4N2I5ZmMzM2U0ZmJhMzZkMTQ2L3RhYmxlOjM2M2NmNTA2ZTY3OTQ4MGZhZjFhOTNiNTc0YzU4ZjNiL3RhYmxlcmFuZ2U6MzYzY2Y1MDZlNjc5NDgwZmFmMWE5M2I1NzRjNThmM2JfNC01LTEtMS0zODU5Mg_26d41528-94a8-49a9-b7aa-103e9ca401d6"
      unitRef="usd">20770196</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ief91157b208149b09f059f61b9b598bc_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV83OS9mcmFnOmU4N2I4YjNmODZhMjQ4N2I5ZmMzM2U0ZmJhMzZkMTQ2L3RhYmxlOjM2M2NmNTA2ZTY3OTQ4MGZhZjFhOTNiNTc0YzU4ZjNiL3RhYmxlcmFuZ2U6MzYzY2Y1MDZlNjc5NDgwZmFmMWE5M2I1NzRjNThmM2JfNC03LTEtMS0zODU5Mg_1d0790c3-2be6-44b4-b222-de8185bc8b71"
      unitRef="usd">15489776</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV83OS9mcmFnOmU4N2I4YjNmODZhMjQ4N2I5ZmMzM2U0ZmJhMzZkMTQ2L3RhYmxlOjM2M2NmNTA2ZTY3OTQ4MGZhZjFhOTNiNTc0YzU4ZjNiL3RhYmxlcmFuZ2U6MzYzY2Y1MDZlNjc5NDgwZmFmMWE5M2I1NzRjNThmM2JfNS0xLTEtMS0zODU5Mg_12928447-1510-4017-a668-cd4f11d4e1f3"
      unitRef="usd">463423002</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV83OS9mcmFnOmU4N2I4YjNmODZhMjQ4N2I5ZmMzM2U0ZmJhMzZkMTQ2L3RhYmxlOjM2M2NmNTA2ZTY3OTQ4MGZhZjFhOTNiNTc0YzU4ZjNiL3RhYmxlcmFuZ2U6MzYzY2Y1MDZlNjc5NDgwZmFmMWE5M2I1NzRjNThmM2JfNS0zLTEtMS0zODU5Mg_4396548d-46a9-43ba-9fc4-35fe9c5dd280"
      unitRef="usd">428005026</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV83OS9mcmFnOmU4N2I4YjNmODZhMjQ4N2I5ZmMzM2U0ZmJhMzZkMTQ2L3RhYmxlOjM2M2NmNTA2ZTY3OTQ4MGZhZjFhOTNiNTc0YzU4ZjNiL3RhYmxlcmFuZ2U6MzYzY2Y1MDZlNjc5NDgwZmFmMWE5M2I1NzRjNThmM2JfNS01LTEtMS0zODU5Mg_69b9c9f1-fa63-4ef4-bdbf-dbce7545d687"
      unitRef="usd">931673777</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV83OS9mcmFnOmU4N2I4YjNmODZhMjQ4N2I5ZmMzM2U0ZmJhMzZkMTQ2L3RhYmxlOjM2M2NmNTA2ZTY3OTQ4MGZhZjFhOTNiNTc0YzU4ZjNiL3RhYmxlcmFuZ2U6MzYzY2Y1MDZlNjc5NDgwZmFmMWE5M2I1NzRjNThmM2JfNS03LTEtMS0zODU5Mg_30d329fe-01cc-413f-ad5d-7eaad3c3c135"
      unitRef="usd">911729865</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:OperatingIncomeLoss
      contextRef="i8b6f8e94a16046eda619758a3f565909_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV83OS9mcmFnOmU4N2I4YjNmODZhMjQ4N2I5ZmMzM2U0ZmJhMzZkMTQ2L3RhYmxlOjM2M2NmNTA2ZTY3OTQ4MGZhZjFhOTNiNTc0YzU4ZjNiL3RhYmxlcmFuZ2U6MzYzY2Y1MDZlNjc5NDgwZmFmMWE5M2I1NzRjNThmM2JfNy0xLTEtMS0zODU5Mg_9679c3b9-1900-4f52-b556-e6558ff30023"
      unitRef="usd">86908119</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="ib3b2165867a346b08a7462d9be9bcc0b_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV83OS9mcmFnOmU4N2I4YjNmODZhMjQ4N2I5ZmMzM2U0ZmJhMzZkMTQ2L3RhYmxlOjM2M2NmNTA2ZTY3OTQ4MGZhZjFhOTNiNTc0YzU4ZjNiL3RhYmxlcmFuZ2U6MzYzY2Y1MDZlNjc5NDgwZmFmMWE5M2I1NzRjNThmM2JfNy0zLTEtMS0zODU5Mg_16d45329-43f0-4ad3-9f2d-c0bfe9c1b554"
      unitRef="usd">101790310</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i090f89bc342e4d59854b4f23acc16eec_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV83OS9mcmFnOmU4N2I4YjNmODZhMjQ4N2I5ZmMzM2U0ZmJhMzZkMTQ2L3RhYmxlOjM2M2NmNTA2ZTY3OTQ4MGZhZjFhOTNiNTc0YzU4ZjNiL3RhYmxlcmFuZ2U6MzYzY2Y1MDZlNjc5NDgwZmFmMWE5M2I1NzRjNThmM2JfNy01LTEtMS0zODU5Mg_3430e1f6-8e08-430d-9a3f-a3255cd76405"
      unitRef="usd">190383628</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i0223412db5ee47ccaf5d1721b6fda0e2_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV83OS9mcmFnOmU4N2I4YjNmODZhMjQ4N2I5ZmMzM2U0ZmJhMzZkMTQ2L3RhYmxlOjM2M2NmNTA2ZTY3OTQ4MGZhZjFhOTNiNTc0YzU4ZjNiL3RhYmxlcmFuZ2U6MzYzY2Y1MDZlNjc5NDgwZmFmMWE5M2I1NzRjNThmM2JfNy03LTEtMS0zODU5Mg_1a75217d-1a23-4386-a656-186860239e51"
      unitRef="usd">236458363</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i2e1d3eb88b624daca9acd0a15798cd5c_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV83OS9mcmFnOmU4N2I4YjNmODZhMjQ4N2I5ZmMzM2U0ZmJhMzZkMTQ2L3RhYmxlOjM2M2NmNTA2ZTY3OTQ4MGZhZjFhOTNiNTc0YzU4ZjNiL3RhYmxlcmFuZ2U6MzYzY2Y1MDZlNjc5NDgwZmFmMWE5M2I1NzRjNThmM2JfOC0xLTEtMS0zODU5Mg_ab46be4d-9237-4cd9-a823-8ad533082c82"
      unitRef="usd">-1117150</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i2c70cb1021524c9e8baadeec8e3521f6_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV83OS9mcmFnOmU4N2I4YjNmODZhMjQ4N2I5ZmMzM2U0ZmJhMzZkMTQ2L3RhYmxlOjM2M2NmNTA2ZTY3OTQ4MGZhZjFhOTNiNTc0YzU4ZjNiL3RhYmxlcmFuZ2U6MzYzY2Y1MDZlNjc5NDgwZmFmMWE5M2I1NzRjNThmM2JfOC0zLTEtMS0zODU5Mg_a99786a9-b3df-46ea-8b0a-815b190d48ef"
      unitRef="usd">-1865689</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i61e75f314459463a964564cb0f306ff3_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV83OS9mcmFnOmU4N2I4YjNmODZhMjQ4N2I5ZmMzM2U0ZmJhMzZkMTQ2L3RhYmxlOjM2M2NmNTA2ZTY3OTQ4MGZhZjFhOTNiNTc0YzU4ZjNiL3RhYmxlcmFuZ2U6MzYzY2Y1MDZlNjc5NDgwZmFmMWE5M2I1NzRjNThmM2JfOC01LTEtMS0zODU5Mg_bc4d9045-abf2-4609-bc39-ed66889b0bd6"
      unitRef="usd">-1286755</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="ief91157b208149b09f059f61b9b598bc_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV83OS9mcmFnOmU4N2I4YjNmODZhMjQ4N2I5ZmMzM2U0ZmJhMzZkMTQ2L3RhYmxlOjM2M2NmNTA2ZTY3OTQ4MGZhZjFhOTNiNTc0YzU4ZjNiL3RhYmxlcmFuZ2U6MzYzY2Y1MDZlNjc5NDgwZmFmMWE5M2I1NzRjNThmM2JfOC03LTEtMS0zODU5Mg_e6659df7-9d4b-4c64-b386-ee5d39629425"
      unitRef="usd">-2800041</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV83OS9mcmFnOmU4N2I4YjNmODZhMjQ4N2I5ZmMzM2U0ZmJhMzZkMTQ2L3RhYmxlOjM2M2NmNTA2ZTY3OTQ4MGZhZjFhOTNiNTc0YzU4ZjNiL3RhYmxlcmFuZ2U6MzYzY2Y1MDZlNjc5NDgwZmFmMWE5M2I1NzRjNThmM2JfOS0xLTEtMS0zODU5Mg_8c78c120-9532-457b-bc33-195cc4436222"
      unitRef="usd">85790969</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV83OS9mcmFnOmU4N2I4YjNmODZhMjQ4N2I5ZmMzM2U0ZmJhMzZkMTQ2L3RhYmxlOjM2M2NmNTA2ZTY3OTQ4MGZhZjFhOTNiNTc0YzU4ZjNiL3RhYmxlcmFuZ2U6MzYzY2Y1MDZlNjc5NDgwZmFmMWE5M2I1NzRjNThmM2JfOS0zLTEtMS0zODU5Mg_3da9b150-047a-4235-bb43-4fc09850d7ae"
      unitRef="usd">99924621</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV83OS9mcmFnOmU4N2I4YjNmODZhMjQ4N2I5ZmMzM2U0ZmJhMzZkMTQ2L3RhYmxlOjM2M2NmNTA2ZTY3OTQ4MGZhZjFhOTNiNTc0YzU4ZjNiL3RhYmxlcmFuZ2U6MzYzY2Y1MDZlNjc5NDgwZmFmMWE5M2I1NzRjNThmM2JfOS01LTEtMS0zODU5Mg_46a32408-07ff-45c7-b4a5-a3dbda8ebf4c"
      unitRef="usd">189096873</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV83OS9mcmFnOmU4N2I4YjNmODZhMjQ4N2I5ZmMzM2U0ZmJhMzZkMTQ2L3RhYmxlOjM2M2NmNTA2ZTY3OTQ4MGZhZjFhOTNiNTc0YzU4ZjNiL3RhYmxlcmFuZ2U6MzYzY2Y1MDZlNjc5NDgwZmFmMWE5M2I1NzRjNThmM2JfOS03LTEtMS0zODU5Mg_ea3a8ba3-3371-4c99-b84a-63830e8d1789"
      unitRef="usd">233658322</us-gaap:OperatingIncomeLoss>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84Mi9mcmFnOmUzYmZiZGUwYTZlZTQzZDZhZThmMDBkYTg5MGFmYTliL3RleHRyZWdpb246ZTNiZmJkZTBhNmVlNDNkNmFlOGYwMGRhODkwYWZhOWJfNDA5_b378f819-2757-4540-b24f-64aa95bbd4dc">Income TaxesThe effective tax rate was 15.0% in the six months ended June 30, 2022, compared to an effective tax rate of 15.7% for the same period in 2021. Generally, effective tax rates for these periods differ from statutory federal income tax rates, due to provisions for state and local income taxes, permanent tax differences, and the foreign-derived intangible income tax deduction and research and development tax credits.</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84Mi9mcmFnOmUzYmZiZGUwYTZlZTQzZDZhZThmMDBkYTg5MGFmYTliL3RleHRyZWdpb246ZTNiZmJkZTBhNmVlNDNkNmFlOGYwMGRhODkwYWZhOWJfNTE_7ebc2e12-07a8-43c5-a698-04222a7545b2"
      unitRef="number">0.15</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84Mi9mcmFnOmUzYmZiZGUwYTZlZTQzZDZhZThmMDBkYTg5MGFmYTliL3RleHRyZWdpb246ZTNiZmJkZTBhNmVlNDNkNmFlOGYwMGRhODkwYWZhOWJfMTAy_03dbb67f-b7b7-4994-81ce-2f9526becfdc"
      unitRef="number">0.157</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:RevenueFromContractWithCustomerTextBlock
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RleHRyZWdpb246Nzg2ODAwYTQ0YjVlNGE0NGI4OWIyYTRiNGNiZWY4NGRfODc4_bb38c7b4-6817-4322-a8ac-206aafbee763">Revenue&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table shows the Company&#x2019;s Automotive revenue and Other Products revenue disaggregated by geographical location for Automotive Products for the three and six month periods ended June 30, 2022 and June 30, 2021:&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:25.699%"/&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:16.511%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.511%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.025%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.276%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.278%"/&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="6" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="6" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 30,&lt;/span&gt;&lt;/td&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="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Revenue&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&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 #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Automotive Products&lt;/span&gt;&lt;/td&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:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #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:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&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;div style="padding-left:6pt;padding-right:-6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S.&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;145,818,259&#160;&lt;/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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;135,857,058&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;288,012,229&#160;&lt;/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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;282,282,375&#160;&lt;/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="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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Germany&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71,580,008&#160;&lt;/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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,935,672&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;139,145,328&#160;&lt;/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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;128,350,856&#160;&lt;/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="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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;Japan&lt;/span&gt;&lt;/td&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:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,655,756&lt;/span&gt;&lt;/td&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,160,515&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;101,418,244&lt;/span&gt;&lt;/td&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;108,064,110&lt;/span&gt;&lt;/td&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Mexico&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,792,178&#160;&lt;/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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,589,143&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;61,927,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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;60,335,131&#160;&lt;/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="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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&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:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;159,104,827&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;143,080,265&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;320,400,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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;317,207,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;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;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total Automotive Products&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;452,951,028&#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 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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;420,622,653&#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;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#242424;font-family:'Arial',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:#242424;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;910,903,581&#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 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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;896,240,089&#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="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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other Products (U.S.)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,471,974&#160;&lt;/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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,382,373&#160;&lt;/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:#242424;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,770,196&#160;&lt;/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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,489,776&#160;&lt;/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="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;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total Revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;463,423,002&#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 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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;428,005,026&#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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;931,673,777&#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 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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;911,729,865&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue by geographic area may fluctuate based on many factors, including: exposure to local economic, political and labor conditions; a pandemic; global supply chain constraints; unexpected changes in laws, regulations, trade or monetary or fiscal policy, including interest rates, foreign currency exchange rates and changes in the rate of inflation in the U.S. and other foreign countries; and tariffs, quotas, customs and other import or export restrictions and other trade barriers.&lt;/span&gt;&lt;/div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table disaggregates the Company&#x2019;s Automotive revenue and Other revenue by major source for the three and six month periods ended June 30, 2022 and June 30, 2021:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:33.804%"/&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:13.480%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.480%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.389%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.573%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.574%"/&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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="6" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="6" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Automotive Segment&lt;/span&gt;&lt;/td&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:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #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:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;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;div style="padding-left:12pt;padding-right:-6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Automotive Mirrors &amp;amp; Electronics&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;419,492,115&#160;&lt;/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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;390,074,655&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;843,118,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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;825,581,585&#160;&lt;/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;div style="padding-left:12pt;padding-right:-12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;HomeLink Modules*&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,458,913&#160;&lt;/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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,547,998&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;67,784,977&#160;&lt;/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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;70,658,504&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total Automotive Products&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;452,951,028&#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 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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;420,622,653&#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;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;910,903,581&#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 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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;896,240,089&#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;/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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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;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;border-top:3pt double #000;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other Segment&lt;/span&gt;&lt;/td&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: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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fire Protection Products&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,645,549&#160;&lt;/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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,319,662&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,093,236&#160;&lt;/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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,123,820&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Aerospace  Products&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;826,425&#160;&lt;/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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,062,711&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,676,960&#160;&lt;/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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,365,956&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,471,974&#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 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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,382,373&#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;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,770,196&#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 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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,489,776&#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 style="height:6pt"&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;border-top:3pt double #000;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;border-top:3pt double #000;padding:0 1pt"/&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="18" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;*Excludes HomeLink revenue where HomeLink electronics are integrated into interior auto-dimming mirrors.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RleHRyZWdpb246Nzg2ODAwYTQ0YjVlNGE0NGI4OWIyYTRiNGNiZWY4NGRfODc5_b24690ea-fbe5-4dfc-bbac-d3e51436e4cc">&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table shows the Company&#x2019;s Automotive revenue and Other Products revenue disaggregated by geographical location for Automotive Products for the three and six month periods ended June 30, 2022 and June 30, 2021:&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:25.699%"/&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:16.511%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.511%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.025%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.276%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.278%"/&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="6" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="6" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 30,&lt;/span&gt;&lt;/td&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="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Revenue&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&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 #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Automotive Products&lt;/span&gt;&lt;/td&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:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #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:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&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;div style="padding-left:6pt;padding-right:-6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S.&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;145,818,259&#160;&lt;/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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;135,857,058&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;288,012,229&#160;&lt;/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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;282,282,375&#160;&lt;/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="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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Germany&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71,580,008&#160;&lt;/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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,935,672&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;139,145,328&#160;&lt;/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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;128,350,856&#160;&lt;/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="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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;Japan&lt;/span&gt;&lt;/td&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:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,655,756&lt;/span&gt;&lt;/td&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,160,515&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;101,418,244&lt;/span&gt;&lt;/td&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;108,064,110&lt;/span&gt;&lt;/td&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Mexico&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,792,178&#160;&lt;/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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,589,143&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;61,927,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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;60,335,131&#160;&lt;/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="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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&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:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;159,104,827&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;143,080,265&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;320,400,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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;317,207,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;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;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total Automotive Products&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;452,951,028&#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 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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;420,622,653&#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;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#242424;font-family:'Arial',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:#242424;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;910,903,581&#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 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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;896,240,089&#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="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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other Products (U.S.)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,471,974&#160;&lt;/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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,382,373&#160;&lt;/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:#242424;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,770,196&#160;&lt;/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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,489,776&#160;&lt;/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="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;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total Revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;463,423,002&#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 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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;428,005,026&#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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;931,673,777&#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 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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;911,729,865&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table disaggregates the Company&#x2019;s Automotive revenue and Other revenue by major source for the three and six month periods ended June 30, 2022 and June 30, 2021:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:33.804%"/&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:13.480%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.480%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.389%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.573%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.574%"/&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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="6" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="6" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Automotive Segment&lt;/span&gt;&lt;/td&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:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #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:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;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;div style="padding-left:12pt;padding-right:-6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Automotive Mirrors &amp;amp; Electronics&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;419,492,115&#160;&lt;/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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;390,074,655&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;843,118,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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;825,581,585&#160;&lt;/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;div style="padding-left:12pt;padding-right:-12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;HomeLink Modules*&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,458,913&#160;&lt;/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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,547,998&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;67,784,977&#160;&lt;/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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;70,658,504&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total Automotive Products&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;452,951,028&#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 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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;420,622,653&#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;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;910,903,581&#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 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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;896,240,089&#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;/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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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;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;border-top:3pt double #000;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other Segment&lt;/span&gt;&lt;/td&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: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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fire Protection Products&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,645,549&#160;&lt;/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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,319,662&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,093,236&#160;&lt;/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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,123,820&#160;&lt;/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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Aerospace  Products&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;826,425&#160;&lt;/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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,062,711&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,676,960&#160;&lt;/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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,365,956&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,471,974&#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 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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,382,373&#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;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,770,196&#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 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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,489,776&#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 style="height:6pt"&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;border-top:3pt double #000;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;border-top:3pt double #000;padding:0 1pt"/&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="18" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;*Excludes HomeLink revenue where HomeLink electronics are integrated into interior auto-dimming mirrors.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2df209f73d0e4c20890a16bcad3756f6_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmMzMTg4YjQ1NDRlMDQ3OTQ4NzEwZTIzODQ2NTM2YWU4L3RhYmxlcmFuZ2U6YzMxODhiNDU0NGUwNDc5NDg3MTBlMjM4NDY1MzZhZThfMy0zLTEtMS0zODU5Mg_d123eff7-5f3a-4757-bbff-9532a25a56e5"
      unitRef="usd">145818259</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iddb5fe1284bb4b6eae1f67ea241d34b6_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmMzMTg4YjQ1NDRlMDQ3OTQ4NzEwZTIzODQ2NTM2YWU4L3RhYmxlcmFuZ2U6YzMxODhiNDU0NGUwNDc5NDg3MTBlMjM4NDY1MzZhZThfMy00LTEtMS0zODU5Mg_9f559546-8ce9-45ea-b04c-8f639d113104"
      unitRef="usd">135857058</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i91fdb8c44fd94152acb044369bc4acf0_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmMzMTg4YjQ1NDRlMDQ3OTQ4NzEwZTIzODQ2NTM2YWU4L3RhYmxlcmFuZ2U6YzMxODhiNDU0NGUwNDc5NDg3MTBlMjM4NDY1MzZhZThfMy02LTEtMS0zODU5Mg_28d4e7d4-0354-48b5-b86a-a533667b46e5"
      unitRef="usd">288012229</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic38504bd377740cfbc7490293129ae76_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmMzMTg4YjQ1NDRlMDQ3OTQ4NzEwZTIzODQ2NTM2YWU4L3RhYmxlcmFuZ2U6YzMxODhiNDU0NGUwNDc5NDg3MTBlMjM4NDY1MzZhZThfMy03LTEtMS0zODU5Mg_388240f2-e32f-42b9-88f6-c1c0afbcad98"
      unitRef="usd">282282375</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iae00867f418c45c4aed189cef5034036_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmMzMTg4YjQ1NDRlMDQ3OTQ4NzEwZTIzODQ2NTM2YWU4L3RhYmxlcmFuZ2U6YzMxODhiNDU0NGUwNDc5NDg3MTBlMjM4NDY1MzZhZThfNC0zLTEtMS0zODU5Mg_93613948-67d3-42a6-a260-8a02231451ca"
      unitRef="usd">71580008</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i85be3077528642789c311f912adaa289_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmMzMTg4YjQ1NDRlMDQ3OTQ4NzEwZTIzODQ2NTM2YWU4L3RhYmxlcmFuZ2U6YzMxODhiNDU0NGUwNDc5NDg3MTBlMjM4NDY1MzZhZThfNC00LTEtMS0zODU5Mg_9b07d029-7375-4f04-9767-3d9dc7acb7ae"
      unitRef="usd">58935672</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="idaab835e26b746a3ad861e42725b68f9_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmMzMTg4YjQ1NDRlMDQ3OTQ4NzEwZTIzODQ2NTM2YWU4L3RhYmxlcmFuZ2U6YzMxODhiNDU0NGUwNDc5NDg3MTBlMjM4NDY1MzZhZThfNC02LTEtMS0zODU5Mg_c34f1782-b658-4c75-b654-a426de0db923"
      unitRef="usd">139145328</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i320fd14daf9e458dba8189640e4419eb_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmMzMTg4YjQ1NDRlMDQ3OTQ4NzEwZTIzODQ2NTM2YWU4L3RhYmxlcmFuZ2U6YzMxODhiNDU0NGUwNDc5NDg3MTBlMjM4NDY1MzZhZThfNC03LTEtMS0zODU5Mg_afc33f9a-1d14-42d1-b27b-5339a039c87e"
      unitRef="usd">128350856</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic8aed4f82bda4c40895e9a5368df9338_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmMzMTg4YjQ1NDRlMDQ3OTQ4NzEwZTIzODQ2NTM2YWU4L3RhYmxlcmFuZ2U6YzMxODhiNDU0NGUwNDc5NDg3MTBlMjM4NDY1MzZhZThfNS0zLTEtMS0zODU5Mg_3cad8258-c583-4eac-be4c-2ce5766e49c6"
      unitRef="usd">46655756</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3f6c001c12324ffb95ea4b5063b50774_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmMzMTg4YjQ1NDRlMDQ3OTQ4NzEwZTIzODQ2NTM2YWU4L3RhYmxlcmFuZ2U6YzMxODhiNDU0NGUwNDc5NDg3MTBlMjM4NDY1MzZhZThfNS00LTEtMS0zODU5Mg_77410512-da9c-4afe-8bba-de4b459b47a7"
      unitRef="usd">54160515</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if0a2b505588f4742bbe1e60a55c7ca71_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmMzMTg4YjQ1NDRlMDQ3OTQ4NzEwZTIzODQ2NTM2YWU4L3RhYmxlcmFuZ2U6YzMxODhiNDU0NGUwNDc5NDg3MTBlMjM4NDY1MzZhZThfNS02LTEtMS0zODU5Mg_5f710dae-6599-4c33-b35e-a98a3be3ae55"
      unitRef="usd">101418244</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id613ebe623154c27b5de63a9a88bff12_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmMzMTg4YjQ1NDRlMDQ3OTQ4NzEwZTIzODQ2NTM2YWU4L3RhYmxlcmFuZ2U6YzMxODhiNDU0NGUwNDc5NDg3MTBlMjM4NDY1MzZhZThfNS03LTEtMS0zODU5Mg_f275863d-4873-4185-a5df-f2cb9b642914"
      unitRef="usd">108064110</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3eed299fbeb946e2aa99584a38616e90_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmMzMTg4YjQ1NDRlMDQ3OTQ4NzEwZTIzODQ2NTM2YWU4L3RhYmxlcmFuZ2U6YzMxODhiNDU0NGUwNDc5NDg3MTBlMjM4NDY1MzZhZThfNi0zLTEtMS0zODU5Mg_25ff999f-23fd-41d9-93b5-9afae0f91b5a"
      unitRef="usd">29792178</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i408f5dac8c8c4152a1cac29327513cbf_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmMzMTg4YjQ1NDRlMDQ3OTQ4NzEwZTIzODQ2NTM2YWU4L3RhYmxlcmFuZ2U6YzMxODhiNDU0NGUwNDc5NDg3MTBlMjM4NDY1MzZhZThfNi00LTEtMS0zODU5Mg_98a189ae-cc27-4be8-9922-8907ad72d1ea"
      unitRef="usd">28589143</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i352f8c64a3ae4e64bfd1c634b4048d2c_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmMzMTg4YjQ1NDRlMDQ3OTQ4NzEwZTIzODQ2NTM2YWU4L3RhYmxlcmFuZ2U6YzMxODhiNDU0NGUwNDc5NDg3MTBlMjM4NDY1MzZhZThfNi02LTEtMS0zODU5Mg_3e57e66e-00b5-4c95-9833-49ad8667ec04"
      unitRef="usd">61927257</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0ad74d2d83674921a11da30e3dbfd462_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmMzMTg4YjQ1NDRlMDQ3OTQ4NzEwZTIzODQ2NTM2YWU4L3RhYmxlcmFuZ2U6YzMxODhiNDU0NGUwNDc5NDg3MTBlMjM4NDY1MzZhZThfNi03LTEtMS0zODU5Mg_3e4d9c5d-1548-4cf4-b150-f6d2412102b0"
      unitRef="usd">60335131</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if4f2f5fb47964fd7a10418501fd69a3f_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmMzMTg4YjQ1NDRlMDQ3OTQ4NzEwZTIzODQ2NTM2YWU4L3RhYmxlcmFuZ2U6YzMxODhiNDU0NGUwNDc5NDg3MTBlMjM4NDY1MzZhZThfNy0zLTEtMS0zODU5Mg_34b88710-7545-47d6-b684-c67b36b2f501"
      unitRef="usd">159104827</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i18c15419deab424e8d58b5ce8ad1dc33_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmMzMTg4YjQ1NDRlMDQ3OTQ4NzEwZTIzODQ2NTM2YWU4L3RhYmxlcmFuZ2U6YzMxODhiNDU0NGUwNDc5NDg3MTBlMjM4NDY1MzZhZThfNy00LTEtMS0zODU5Mg_f8706d75-53bb-4f19-8cb0-df641217a6e1"
      unitRef="usd">143080265</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="icc104a5ca1884b16bd21179465f9b816_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmMzMTg4YjQ1NDRlMDQ3OTQ4NzEwZTIzODQ2NTM2YWU4L3RhYmxlcmFuZ2U6YzMxODhiNDU0NGUwNDc5NDg3MTBlMjM4NDY1MzZhZThfNy02LTEtMS0zODU5Mg_7aba5239-43fe-4050-aa32-6c33a1488364"
      unitRef="usd">320400523</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ibb2ea5c5cf2d47668f75fffedc827a80_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmMzMTg4YjQ1NDRlMDQ3OTQ4NzEwZTIzODQ2NTM2YWU4L3RhYmxlcmFuZ2U6YzMxODhiNDU0NGUwNDc5NDg3MTBlMjM4NDY1MzZhZThfNy03LTEtMS0zODU5Mg_3f63b76b-0905-4712-90b6-9467ab921b48"
      unitRef="usd">317207617</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic021129f0c9f42ae9b0432b1d933a39a_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmMzMTg4YjQ1NDRlMDQ3OTQ4NzEwZTIzODQ2NTM2YWU4L3RhYmxlcmFuZ2U6YzMxODhiNDU0NGUwNDc5NDg3MTBlMjM4NDY1MzZhZThfOC0zLTEtMS0zODU5Mg_140db47b-b8bf-4830-8afd-bb8fe7b26736"
      unitRef="usd">452951028</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ieb00f4425b184c42ae3fefb7befa67c5_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmMzMTg4YjQ1NDRlMDQ3OTQ4NzEwZTIzODQ2NTM2YWU4L3RhYmxlcmFuZ2U6YzMxODhiNDU0NGUwNDc5NDg3MTBlMjM4NDY1MzZhZThfOC00LTEtMS0zODU5Mg_102b8f4e-5857-48c0-97f9-93268e76ba6c"
      unitRef="usd">420622653</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia0af747fa9384607845816026b80ce62_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmMzMTg4YjQ1NDRlMDQ3OTQ4NzEwZTIzODQ2NTM2YWU4L3RhYmxlcmFuZ2U6YzMxODhiNDU0NGUwNDc5NDg3MTBlMjM4NDY1MzZhZThfOC02LTEtMS0zODU5Mg_8e2c3e3e-d299-49c1-ad0f-4852fca66121"
      unitRef="usd">910903581</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i036dadeca0424865a2b11aa2e6b9931e_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmMzMTg4YjQ1NDRlMDQ3OTQ4NzEwZTIzODQ2NTM2YWU4L3RhYmxlcmFuZ2U6YzMxODhiNDU0NGUwNDc5NDg3MTBlMjM4NDY1MzZhZThfOC03LTEtMS0zODU5Mg_62d789ed-a639-4594-8d22-f416322ed7d5"
      unitRef="usd">896240089</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic1507d25334f48f4979a6c205859425b_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmMzMTg4YjQ1NDRlMDQ3OTQ4NzEwZTIzODQ2NTM2YWU4L3RhYmxlcmFuZ2U6YzMxODhiNDU0NGUwNDc5NDg3MTBlMjM4NDY1MzZhZThfOS0zLTEtMS0zODU5Mg_33ee459f-370d-40c0-a18b-17b8101eae86"
      unitRef="usd">10471974</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia5039eaf6d8945b6b790bfdc79cdabb1_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmMzMTg4YjQ1NDRlMDQ3OTQ4NzEwZTIzODQ2NTM2YWU4L3RhYmxlcmFuZ2U6YzMxODhiNDU0NGUwNDc5NDg3MTBlMjM4NDY1MzZhZThfOS00LTEtMS0zODU5Mg_4c63081d-eb28-4cbc-916b-a94d6836a926"
      unitRef="usd">7382373</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id8fe96348ba54c5ea8636f9368918f3b_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmMzMTg4YjQ1NDRlMDQ3OTQ4NzEwZTIzODQ2NTM2YWU4L3RhYmxlcmFuZ2U6YzMxODhiNDU0NGUwNDc5NDg3MTBlMjM4NDY1MzZhZThfOS02LTEtMS0zODU5Mg_d68607b2-16d4-443b-9c0e-e1ad464aa2e2"
      unitRef="usd">20770196</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i599c28f22a834e1ebdea115170b9e67f_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmMzMTg4YjQ1NDRlMDQ3OTQ4NzEwZTIzODQ2NTM2YWU4L3RhYmxlcmFuZ2U6YzMxODhiNDU0NGUwNDc5NDg3MTBlMjM4NDY1MzZhZThfOS03LTEtMS0zODU5Mg_0d712e56-b1d6-4bba-a1b1-148c0934c358"
      unitRef="usd">15489776</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3443874216a54099905fe8a57f283885_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmMzMTg4YjQ1NDRlMDQ3OTQ4NzEwZTIzODQ2NTM2YWU4L3RhYmxlcmFuZ2U6YzMxODhiNDU0NGUwNDc5NDg3MTBlMjM4NDY1MzZhZThfMTAtMy0xLTEtMzg1OTI_9c74a50a-7065-4cd3-9161-8e9d7e24df90"
      unitRef="usd">463423002</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i50995b7626874a00aac8d439e57acaf9_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmMzMTg4YjQ1NDRlMDQ3OTQ4NzEwZTIzODQ2NTM2YWU4L3RhYmxlcmFuZ2U6YzMxODhiNDU0NGUwNDc5NDg3MTBlMjM4NDY1MzZhZThfMTAtNC0xLTEtMzg1OTI_308a4577-1b60-4a0b-8e0b-d2184208ca30"
      unitRef="usd">428005026</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmMzMTg4YjQ1NDRlMDQ3OTQ4NzEwZTIzODQ2NTM2YWU4L3RhYmxlcmFuZ2U6YzMxODhiNDU0NGUwNDc5NDg3MTBlMjM4NDY1MzZhZThfMTAtNi0xLTEtMzg1OTI_bfeacf0c-b357-42be-bbc2-3f09c6913dfd"
      unitRef="usd">931673777</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1c05e910a5ef46688864aab1332cda20_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmMzMTg4YjQ1NDRlMDQ3OTQ4NzEwZTIzODQ2NTM2YWU4L3RhYmxlcmFuZ2U6YzMxODhiNDU0NGUwNDc5NDg3MTBlMjM4NDY1MzZhZThfMTAtNy0xLTEtMzg1OTI_7d2ed79e-90d8-46c5-bdc2-500271041aa2"
      unitRef="usd">911729865</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id1a1300d4cdd4ed3a788a6d6a6832e43_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmUwYTg4ZGMyYTMzZDRlNjZhOTBmNzBkODE1ZDIyZmIxL3RhYmxlcmFuZ2U6ZTBhODhkYzJhMzNkNGU2NmE5MGY3MGQ4MTVkMjJmYjFfMy0zLTEtMS0zODU5Mg_8c5e5d8b-be66-4d1a-95e2-e4b12da51f00"
      unitRef="usd">419492115</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ief5dc24f1e664c7e8e58ad146478d677_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmUwYTg4ZGMyYTMzZDRlNjZhOTBmNzBkODE1ZDIyZmIxL3RhYmxlcmFuZ2U6ZTBhODhkYzJhMzNkNGU2NmE5MGY3MGQ4MTVkMjJmYjFfMy00LTEtMS0zODU5Mg_0e4ca694-1f9d-45e8-91a1-61d8cc61e147"
      unitRef="usd">390074655</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib182793c8e6747ea9277740e1050246c_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmUwYTg4ZGMyYTMzZDRlNjZhOTBmNzBkODE1ZDIyZmIxL3RhYmxlcmFuZ2U6ZTBhODhkYzJhMzNkNGU2NmE5MGY3MGQ4MTVkMjJmYjFfMy02LTEtMS0zODU5Mg_19fbf810-702e-462e-ae3c-11b6f89af9cb"
      unitRef="usd">843118604</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3106ad8abc2f4014925f3a53262ce1df_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmUwYTg4ZGMyYTMzZDRlNjZhOTBmNzBkODE1ZDIyZmIxL3RhYmxlcmFuZ2U6ZTBhODhkYzJhMzNkNGU2NmE5MGY3MGQ4MTVkMjJmYjFfMy03LTEtMS0zODU5Mg_4db28169-5c36-456d-863b-655d670ede7a"
      unitRef="usd">825581585</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if855f2c30dd04a89892d2fb264231f26_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmUwYTg4ZGMyYTMzZDRlNjZhOTBmNzBkODE1ZDIyZmIxL3RhYmxlcmFuZ2U6ZTBhODhkYzJhMzNkNGU2NmE5MGY3MGQ4MTVkMjJmYjFfNC0zLTEtMS0zODU5Mg_4961cf61-53bc-414c-a095-ac41b7a5dd44"
      unitRef="usd">33458913</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic20c27f1b5fd4f6d95c844a2115cbe73_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmUwYTg4ZGMyYTMzZDRlNjZhOTBmNzBkODE1ZDIyZmIxL3RhYmxlcmFuZ2U6ZTBhODhkYzJhMzNkNGU2NmE5MGY3MGQ4MTVkMjJmYjFfNC00LTEtMS0zODU5Mg_fd10d249-b93c-4ab3-9c32-7eb55e4d8244"
      unitRef="usd">30547998</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i76ba8a658aa8450e977cf15cab09567e_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmUwYTg4ZGMyYTMzZDRlNjZhOTBmNzBkODE1ZDIyZmIxL3RhYmxlcmFuZ2U6ZTBhODhkYzJhMzNkNGU2NmE5MGY3MGQ4MTVkMjJmYjFfNC02LTEtMS0zODU5Mg_2f85da44-4e57-4aa3-92fd-424f4b26e0a4"
      unitRef="usd">67784977</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6c8a0eb0f50944a4a9f832c9b54bcb54_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmUwYTg4ZGMyYTMzZDRlNjZhOTBmNzBkODE1ZDIyZmIxL3RhYmxlcmFuZ2U6ZTBhODhkYzJhMzNkNGU2NmE5MGY3MGQ4MTVkMjJmYjFfNC03LTEtMS0zODU5Mg_33322ee8-dd58-4a34-8b92-0c7283cb264a"
      unitRef="usd">70658504</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i24161174258d4004bd612b689db401e0_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmUwYTg4ZGMyYTMzZDRlNjZhOTBmNzBkODE1ZDIyZmIxL3RhYmxlcmFuZ2U6ZTBhODhkYzJhMzNkNGU2NmE5MGY3MGQ4MTVkMjJmYjFfNS0zLTEtMS0zODU5Mg_8197d361-f1c2-4aee-9d4f-30b92e6b32c3"
      unitRef="usd">452951028</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5b6853ad074049e9992cb1fa40cce100_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmUwYTg4ZGMyYTMzZDRlNjZhOTBmNzBkODE1ZDIyZmIxL3RhYmxlcmFuZ2U6ZTBhODhkYzJhMzNkNGU2NmE5MGY3MGQ4MTVkMjJmYjFfNS00LTEtMS0zODU5Mg_c4e18044-a3f3-4599-bd08-0852dd618ea0"
      unitRef="usd">420622653</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2506c20427614a0eb8d2272aba6c6992_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmUwYTg4ZGMyYTMzZDRlNjZhOTBmNzBkODE1ZDIyZmIxL3RhYmxlcmFuZ2U6ZTBhODhkYzJhMzNkNGU2NmE5MGY3MGQ4MTVkMjJmYjFfNS02LTEtMS0zODU5Mg_124e9d5f-2a02-460f-87e3-8a02df68c2ef"
      unitRef="usd">910903581</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i59134c0d74d5496581dfeffcea38cca8_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmUwYTg4ZGMyYTMzZDRlNjZhOTBmNzBkODE1ZDIyZmIxL3RhYmxlcmFuZ2U6ZTBhODhkYzJhMzNkNGU2NmE5MGY3MGQ4MTVkMjJmYjFfNS03LTEtMS0zODU5Mg_277c513a-4b33-4c4f-ae6b-62f063c6d978"
      unitRef="usd">896240089</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9bf82c704b4644a18f184ef6d09a8cb5_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmUwYTg4ZGMyYTMzZDRlNjZhOTBmNzBkODE1ZDIyZmIxL3RhYmxlcmFuZ2U6ZTBhODhkYzJhMzNkNGU2NmE5MGY3MGQ4MTVkMjJmYjFfOC0zLTEtMS0zODU5Mg_2ce21d44-dbcd-4406-80f8-844c4904b1c9"
      unitRef="usd">9645549</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i59cef57029464316bb55dccad1bb2d57_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmUwYTg4ZGMyYTMzZDRlNjZhOTBmNzBkODE1ZDIyZmIxL3RhYmxlcmFuZ2U6ZTBhODhkYzJhMzNkNGU2NmE5MGY3MGQ4MTVkMjJmYjFfOC00LTEtMS0zODU5Mg_9dd68854-538c-4730-aaac-8e3f3fdbf1a8"
      unitRef="usd">6319662</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic3e0303c7078435ab5dbdf2554392702_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmUwYTg4ZGMyYTMzZDRlNjZhOTBmNzBkODE1ZDIyZmIxL3RhYmxlcmFuZ2U6ZTBhODhkYzJhMzNkNGU2NmE5MGY3MGQ4MTVkMjJmYjFfOC02LTEtMS0zODU5Mg_9168f00b-b26b-49ae-81c2-54d11205e541"
      unitRef="usd">18093236</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i042dd741052143a2986cd858a500e147_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmUwYTg4ZGMyYTMzZDRlNjZhOTBmNzBkODE1ZDIyZmIxL3RhYmxlcmFuZ2U6ZTBhODhkYzJhMzNkNGU2NmE5MGY3MGQ4MTVkMjJmYjFfOC03LTEtMS0zODU5Mg_91cb3bba-4a8e-49cc-a2cc-6e518ef3d000"
      unitRef="usd">12123820</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic2b605ec6a6c4b269eb3e09c82f84bc7_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmUwYTg4ZGMyYTMzZDRlNjZhOTBmNzBkODE1ZDIyZmIxL3RhYmxlcmFuZ2U6ZTBhODhkYzJhMzNkNGU2NmE5MGY3MGQ4MTVkMjJmYjFfOS0zLTEtMS0zODU5Mg_2ae2199e-550f-4982-9c44-bb65ec771fda"
      unitRef="usd">826425</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i126298f3a67c4eeeb917311fdf19ad64_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmUwYTg4ZGMyYTMzZDRlNjZhOTBmNzBkODE1ZDIyZmIxL3RhYmxlcmFuZ2U6ZTBhODhkYzJhMzNkNGU2NmE5MGY3MGQ4MTVkMjJmYjFfOS00LTEtMS0zODU5Mg_6a28f110-6ef4-4eb6-ac59-9bff6a9737ec"
      unitRef="usd">1062711</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i67eb2bcb53bd44f0ac8a8bd36b683125_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmUwYTg4ZGMyYTMzZDRlNjZhOTBmNzBkODE1ZDIyZmIxL3RhYmxlcmFuZ2U6ZTBhODhkYzJhMzNkNGU2NmE5MGY3MGQ4MTVkMjJmYjFfOS02LTEtMS0zODU5Mg_87f05dbb-c27f-43de-aea7-79111af05bd4"
      unitRef="usd">2676960</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic09587733e1b45bdafdb574f85765747_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmUwYTg4ZGMyYTMzZDRlNjZhOTBmNzBkODE1ZDIyZmIxL3RhYmxlcmFuZ2U6ZTBhODhkYzJhMzNkNGU2NmE5MGY3MGQ4MTVkMjJmYjFfOS03LTEtMS0zODU5Mg_70f9df0a-3dbf-4b56-8087-1395537903ed"
      unitRef="usd">3365956</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4dcf0609a0774be39e3f16cf93226bf5_D20220401-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmUwYTg4ZGMyYTMzZDRlNjZhOTBmNzBkODE1ZDIyZmIxL3RhYmxlcmFuZ2U6ZTBhODhkYzJhMzNkNGU2NmE5MGY3MGQ4MTVkMjJmYjFfMTAtMy0xLTEtMzg1OTI_e4092e48-b9a4-4ac3-aa24-01d4872c5374"
      unitRef="usd">10471974</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9ebc3dadf1a94cccb0a661cf35f63b14_D20210401-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmUwYTg4ZGMyYTMzZDRlNjZhOTBmNzBkODE1ZDIyZmIxL3RhYmxlcmFuZ2U6ZTBhODhkYzJhMzNkNGU2NmE5MGY3MGQ4MTVkMjJmYjFfMTAtNC0xLTEtMzg1OTI_fd8dbd65-68a4-44df-8e6a-ebd9181727a3"
      unitRef="usd">7382373</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6c5d9a04632040d3bdcfc9396a458af5_D20220101-20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmUwYTg4ZGMyYTMzZDRlNjZhOTBmNzBkODE1ZDIyZmIxL3RhYmxlcmFuZ2U6ZTBhODhkYzJhMzNkNGU2NmE5MGY3MGQ4MTVkMjJmYjFfMTAtNi0xLTEtMzg1OTI_445af164-580c-49d9-ae98-91a8976892db"
      unitRef="usd">20770196</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i58c7951e4ec8488a9dcbd63b728634fc_D20210101-20210630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV84NS9mcmFnOjc4NjgwMGE0NGI1ZTRhNDRiODliMmE0YjRjYmVmODRkL3RhYmxlOmUwYTg4ZGMyYTMzZDRlNjZhOTBmNzBkODE1ZDIyZmIxL3RhYmxlcmFuZ2U6ZTBhODhkYzJhMzNkNGU2NmE5MGY3MGQ4MTVkMjJmYjFfMTAtNy0xLTEtMzg1OTI_9a5909c7-e7f8-4ead-a5f1-8a64b44501f3"
      unitRef="usd">15489776</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV85MS9mcmFnOmFmN2QxMzI3MTdkZDQ5NDdhNjY4NTI4MTg3NTZkNjlhL3RleHRyZWdpb246YWY3ZDEzMjcxN2RkNDk0N2E2Njg1MjgxODc1NmQ2OWFfNTAz_1056839b-364d-490c-b399-85ad058e7e01">Leases&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company has operating leases for certain sales and engineering offices, as well as other vehicles and equipment, which are included within "Plant and Equipment - Net" section of the Condensed Consolidated Balance Sheets. The leases have remaining lease terms of 1 year to 5 years. The weighted average remaining lease term for operating leases as of June 30, 2022 was 2 years, with a weighted average discount rate of 4.4%.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Future minimum lease payments for operating leases as of June 30, 2022 were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:13.5pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.416%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.403%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:24.781%"/&gt;&lt;td style="width:0.1%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year ending December 31,&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;/tr&gt;&lt;tr style="height:9pt"&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:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022 (excluding the three months ended June 30, 2022)&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;706,167&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,016,442&#160;&lt;/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:'Arial',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:#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;223,816&#160;&lt;/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:'Arial',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:#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,226&#160;&lt;/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:'Arial',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:#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,314&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;940&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total future minimum 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 #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,986,905&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less imputed interest&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(34,730)&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&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:1pt solid #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:'Arial',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:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,952,175&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #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="padding-left:13.5pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.514%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.213%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.348%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:23.039%"/&gt;&lt;td style="width:0.1%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Reported as of June 30, 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;/tr&gt;&lt;tr style="height:15pt"&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:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV85MS9mcmFnOmFmN2QxMzI3MTdkZDQ5NDdhNjY4NTI4MTg3NTZkNjlhL3RhYmxlOmM4M2YyNDU5NzBkZjQxMGVhNWI5NWJkMzUxZjEzM2ZmL3RhYmxlcmFuZ2U6YzgzZjI0NTk3MGRmNDEwZWE1Yjk1YmQzNTFmMTMzZmZfMi0wLTEtMS0zODU5Mg_bec87d78-305d-459e-a4ff-6aac8c89334d"&gt;Accrued Liabilities&lt;/span&gt;&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,265,582&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV85MS9mcmFnOmFmN2QxMzI3MTdkZDQ5NDdhNjY4NTI4MTg3NTZkNjlhL3RhYmxlOmM4M2YyNDU5NzBkZjQxMGVhNWI5NWJkMzUxZjEzM2ZmL3RhYmxlcmFuZ2U6YzgzZjI0NTk3MGRmNDEwZWE1Yjk1YmQzNTFmMTMzZmZfMy0wLTEtMS0zODU5Mg_68ad6c3f-8629-4666-9554-6a96828cdb34"&gt;Other Non-Current Liabilities&lt;/span&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;686,593&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,952,175&#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 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="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:LesseeOperatingLeaseRemainingLeaseTerm
      contextRef="idbf5fff4851742aeaf98515ba2ba2fb8_I20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV85MS9mcmFnOmFmN2QxMzI3MTdkZDQ5NDdhNjY4NTI4MTg3NTZkNjlhL3RleHRyZWdpb246YWY3ZDEzMjcxN2RkNDk0N2E2Njg1MjgxODc1NmQ2OWFfMjg0_80fa7c43-9b5d-445b-90e2-2818b30ef842">P1Y</us-gaap:LesseeOperatingLeaseRemainingLeaseTerm>
    <us-gaap:LesseeOperatingLeaseRemainingLeaseTerm
      contextRef="ib225019413714ccc8518b00a051a1848_I20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV85MS9mcmFnOmFmN2QxMzI3MTdkZDQ5NDdhNjY4NTI4MTg3NTZkNjlhL3RleHRyZWdpb246YWY3ZDEzMjcxN2RkNDk0N2E2Njg1MjgxODc1NmQ2OWFfMjkw_71ae56fb-e8ba-47a8-8a2f-5dc7c3fa9e7e">P5Y</us-gaap:LesseeOperatingLeaseRemainingLeaseTerm>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV85MS9mcmFnOmFmN2QxMzI3MTdkZDQ5NDdhNjY4NTI4MTg3NTZkNjlhL3RleHRyZWdpb246YWY3ZDEzMjcxN2RkNDk0N2E2Njg1MjgxODc1NmQ2OWFfMzcx_ae4bdac1-8e7d-4bb9-bf23-32dfc75a050f">P2Y</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV85MS9mcmFnOmFmN2QxMzI3MTdkZDQ5NDdhNjY4NTI4MTg3NTZkNjlhL3RleHRyZWdpb246YWY3ZDEzMjcxN2RkNDk0N2E2Njg1MjgxODc1NmQ2OWFfNDE2_b9bda340-abd6-44f5-8689-1c4acd162c9f"
      unitRef="number">0.044</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV85MS9mcmFnOmFmN2QxMzI3MTdkZDQ5NDdhNjY4NTI4MTg3NTZkNjlhL3RleHRyZWdpb246YWY3ZDEzMjcxN2RkNDk0N2E2Njg1MjgxODc1NmQ2OWFfNTA0_6f352ce5-9843-42b4-b063-368dc924cde9">&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Future minimum lease payments for operating leases as of June 30, 2022 were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:13.5pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.416%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.403%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:24.781%"/&gt;&lt;td style="width:0.1%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year ending December 31,&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;/tr&gt;&lt;tr style="height:9pt"&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:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022 (excluding the three months ended June 30, 2022)&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;706,167&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,016,442&#160;&lt;/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:'Arial',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:#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;223,816&#160;&lt;/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:'Arial',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:#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,226&#160;&lt;/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:'Arial',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:#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,314&#160;&lt;/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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;940&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total future minimum 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 #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,986,905&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less imputed interest&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(34,730)&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&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:1pt solid #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:'Arial',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:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,952,175&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #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:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV85MS9mcmFnOmFmN2QxMzI3MTdkZDQ5NDdhNjY4NTI4MTg3NTZkNjlhL3RhYmxlOjgyMmVkODQ3NjdjMjQ0MThiOWEwYTdmYjRlYzIyZDAwL3RhYmxlcmFuZ2U6ODIyZWQ4NDc2N2MyNDQxOGI5YTBhN2ZiNGVjMjJkMDBfMi0yLTEtMS0zODU5Mg_7706151f-bc02-4232-baca-3cdfc4b11ffa"
      unitRef="usd">706167</us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV85MS9mcmFnOmFmN2QxMzI3MTdkZDQ5NDdhNjY4NTI4MTg3NTZkNjlhL3RhYmxlOjgyMmVkODQ3NjdjMjQ0MThiOWEwYTdmYjRlYzIyZDAwL3RhYmxlcmFuZ2U6ODIyZWQ4NDc2N2MyNDQxOGI5YTBhN2ZiNGVjMjJkMDBfMy0yLTEtMS0zODU5Mg_8eecb0bb-d558-4867-909a-3f3a3901787c"
      unitRef="usd">1016442</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV85MS9mcmFnOmFmN2QxMzI3MTdkZDQ5NDdhNjY4NTI4MTg3NTZkNjlhL3RhYmxlOjgyMmVkODQ3NjdjMjQ0MThiOWEwYTdmYjRlYzIyZDAwL3RhYmxlcmFuZ2U6ODIyZWQ4NDc2N2MyNDQxOGI5YTBhN2ZiNGVjMjJkMDBfNC0yLTEtMS0zODU5Mg_f8f4d7f3-49b0-4fc6-81db-bfde9cdbcf2d"
      unitRef="usd">223816</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV85MS9mcmFnOmFmN2QxMzI3MTdkZDQ5NDdhNjY4NTI4MTg3NTZkNjlhL3RhYmxlOjgyMmVkODQ3NjdjMjQ0MThiOWEwYTdmYjRlYzIyZDAwL3RhYmxlcmFuZ2U6ODIyZWQ4NDc2N2MyNDQxOGI5YTBhN2ZiNGVjMjJkMDBfNS0yLTEtMS0zODU5Mg_6a7c6a6c-3797-4d05-a480-379f63829ed4"
      unitRef="usd">33226</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV85MS9mcmFnOmFmN2QxMzI3MTdkZDQ5NDdhNjY4NTI4MTg3NTZkNjlhL3RhYmxlOjgyMmVkODQ3NjdjMjQ0MThiOWEwYTdmYjRlYzIyZDAwL3RhYmxlcmFuZ2U6ODIyZWQ4NDc2N2MyNDQxOGI5YTBhN2ZiNGVjMjJkMDBfNi0yLTEtMS0zODU5Mg_ebe1fe78-b7e6-4096-8f3f-3860da370003"
      unitRef="usd">6314</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <gntx:LesseeOperatingLeaseLiabilityToBePaidDueAfterYearFour
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV85MS9mcmFnOmFmN2QxMzI3MTdkZDQ5NDdhNjY4NTI4MTg3NTZkNjlhL3RhYmxlOjgyMmVkODQ3NjdjMjQ0MThiOWEwYTdmYjRlYzIyZDAwL3RhYmxlcmFuZ2U6ODIyZWQ4NDc2N2MyNDQxOGI5YTBhN2ZiNGVjMjJkMDBfNy0yLTEtMS0zODU5Mg_f0c9602a-19b8-445c-afd1-1ed9388bc2b7"
      unitRef="usd">940</gntx:LesseeOperatingLeaseLiabilityToBePaidDueAfterYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV85MS9mcmFnOmFmN2QxMzI3MTdkZDQ5NDdhNjY4NTI4MTg3NTZkNjlhL3RhYmxlOjgyMmVkODQ3NjdjMjQ0MThiOWEwYTdmYjRlYzIyZDAwL3RhYmxlcmFuZ2U6ODIyZWQ4NDc2N2MyNDQxOGI5YTBhN2ZiNGVjMjJkMDBfOC0yLTEtMS0zODU5Mg_05b52c4c-d200-4ce0-ba1e-a76678c2556a"
      unitRef="usd">1986905</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV85MS9mcmFnOmFmN2QxMzI3MTdkZDQ5NDdhNjY4NTI4MTg3NTZkNjlhL3RhYmxlOjgyMmVkODQ3NjdjMjQ0MThiOWEwYTdmYjRlYzIyZDAwL3RhYmxlcmFuZ2U6ODIyZWQ4NDc2N2MyNDQxOGI5YTBhN2ZiNGVjMjJkMDBfOS0yLTEtMS0zODU5Mg_4d52ac78-6f82-4df0-aa2b-fbe763c441c2"
      unitRef="usd">34730</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV85MS9mcmFnOmFmN2QxMzI3MTdkZDQ5NDdhNjY4NTI4MTg3NTZkNjlhL3RhYmxlOjgyMmVkODQ3NjdjMjQ0MThiOWEwYTdmYjRlYzIyZDAwL3RhYmxlcmFuZ2U6ODIyZWQ4NDc2N2MyNDQxOGI5YTBhN2ZiNGVjMjJkMDBfMTAtMi0xLTEtMzg1OTI_b27cdbaf-3108-48e2-94d1-deb92eefd9d5"
      unitRef="usd">1952175</us-gaap:OperatingLeaseLiability>
    <gntx:AssetsAndLiabilitiesLesseeTableTextBlock
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV85MS9mcmFnOmFmN2QxMzI3MTdkZDQ5NDdhNjY4NTI4MTg3NTZkNjlhL3RleHRyZWdpb246YWY3ZDEzMjcxN2RkNDk0N2E2Njg1MjgxODc1NmQ2OWFfNTA1_fa72fa1f-ee87-494c-9f08-dd2394d7298b">&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.514%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.213%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.348%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:23.039%"/&gt;&lt;td style="width:0.1%"/&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:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Reported as of June 30, 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;/tr&gt;&lt;tr style="height:15pt"&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:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV85MS9mcmFnOmFmN2QxMzI3MTdkZDQ5NDdhNjY4NTI4MTg3NTZkNjlhL3RhYmxlOmM4M2YyNDU5NzBkZjQxMGVhNWI5NWJkMzUxZjEzM2ZmL3RhYmxlcmFuZ2U6YzgzZjI0NTk3MGRmNDEwZWE1Yjk1YmQzNTFmMTMzZmZfMi0wLTEtMS0zODU5Mg_bec87d78-305d-459e-a4ff-6aac8c89334d"&gt;Accrued Liabilities&lt;/span&gt;&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,265,582&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV85MS9mcmFnOmFmN2QxMzI3MTdkZDQ5NDdhNjY4NTI4MTg3NTZkNjlhL3RhYmxlOmM4M2YyNDU5NzBkZjQxMGVhNWI5NWJkMzUxZjEzM2ZmL3RhYmxlcmFuZ2U6YzgzZjI0NTk3MGRmNDEwZWE1Yjk1YmQzNTFmMTMzZmZfMy0wLTEtMS0zODU5Mg_68ad6c3f-8629-4666-9554-6a96828cdb34"&gt;Other Non-Current Liabilities&lt;/span&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;686,593&#160;&lt;/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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,952,175&#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 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="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;</gntx:AssetsAndLiabilitiesLesseeTableTextBlock>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV85MS9mcmFnOmFmN2QxMzI3MTdkZDQ5NDdhNjY4NTI4MTg3NTZkNjlhL3RhYmxlOmM4M2YyNDU5NzBkZjQxMGVhNWI5NWJkMzUxZjEzM2ZmL3RhYmxlcmFuZ2U6YzgzZjI0NTk3MGRmNDEwZWE1Yjk1YmQzNTFmMTMzZmZfMi0yLTEtMS0zODU5Mg_7dad2c84-28e8-4b9b-9995-39eb97e57717"
      unitRef="usd">1265582</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV85MS9mcmFnOmFmN2QxMzI3MTdkZDQ5NDdhNjY4NTI4MTg3NTZkNjlhL3RhYmxlOmM4M2YyNDU5NzBkZjQxMGVhNWI5NWJkMzUxZjEzM2ZmL3RhYmxlcmFuZ2U6YzgzZjI0NTk3MGRmNDEwZWE1Yjk1YmQzNTFmMTMzZmZfMy0yLTEtMS0zODU5Mg_9242ab59-c55d-4d31-acf1-c4d2e019b0c0"
      unitRef="usd">686593</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiability
      contextRef="i3ea74557f76c449695fec39c0ebb8180_I20220630"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV85MS9mcmFnOmFmN2QxMzI3MTdkZDQ5NDdhNjY4NTI4MTg3NTZkNjlhL3RhYmxlOmM4M2YyNDU5NzBkZjQxMGVhNWI5NWJkMzUxZjEzM2ZmL3RhYmxlcmFuZ2U6YzgzZjI0NTk3MGRmNDEwZWE1Yjk1YmQzNTFmMTMzZmZfNC0yLTEtMS0zODU5Mg_416c3d95-24d3-472b-8c04-ff4d79db24ee"
      unitRef="usd">1952175</us-gaap:OperatingLeaseLiability>
    <us-gaap:BusinessCombinationDisclosureTextBlock
      contextRef="i221d8ddeeaea44a299f78804c614e3c4_D20220101-20220630"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV85NC9mcmFnOmNhNmQ5YTMyZDEwYTQ4N2Q4ZGQ0Zjg3Y2RmMjUyMzRiL3RleHRyZWdpb246Y2E2ZDlhMzJkMTBhNDg3ZDhkZDRmODdjZGYyNTIzNGJfNjAw_c0033871-84d3-463c-8450-5500fb897033">Acquisition&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On March 3, 2021 the Company acquired Guardian for approximately $12.0&#160;million. Guardian is an Israeli research and development company that specializes in in-cabin sensing technologies for the automotive industry. The Company funded the acquisition with cash on hand. The valuation process was completed during the fourth quarter of 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Guardian is now a 100% owned subsidiary of the Company as Gentex Technologies (Israel), LTD, and is classified within the Automotive segment. The Company accounted for the acquisition under the provisions of FASB ASC Topic 805, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Business Combinations&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;.&lt;/span&gt;&lt;/div&gt;</us-gaap:BusinessCombinationDisclosureTextBlock>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="i24ccd3255d3a4800b124d3a11ee7b9de_D20210303-20210303"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV85NC9mcmFnOmNhNmQ5YTMyZDEwYTQ4N2Q4ZGQ0Zjg3Y2RmMjUyMzRiL3RleHRyZWdpb246Y2E2ZDlhMzJkMTBhNDg3ZDhkZDRmODdjZGYyNTIzNGJfODg_aed1cad5-40ca-4e6c-9233-632c75d688fb"
      unitRef="usd">12000000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired
      contextRef="i3bb43a5c2b0e4300b12f5dc96ecd53cb_I20210303"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV85NC9mcmFnOmNhNmQ5YTMyZDEwYTQ4N2Q4ZGQ0Zjg3Y2RmMjUyMzRiL3RleHRyZWdpb246Y2E2ZDlhMzJkMTBhNDg3ZDhkZDRmODdjZGYyNTIzNGJfMzcx_198c27a4-b6dc-4748-b954-0f6dbe18713d"
      unitRef="number">1</us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired>
    <link:footnoteLink
      xlink:role="http://www.xbrl.org/2003/role/link"
      xlink:type="extended">
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMjYtMy0xLTEtMzg1OTI_e5716f53-7190-466a-ac29-b29982993228"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMjYtMy0xLTEtMzg1OTI_e5716f53-7190-466a-ac29-b29982993228"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMjctMS0xLTEtMzg1OTI_5f032fce-b61a-4597-ad87-73c72249cf8f"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMjctMS0xLTEtMzg1OTI_5f032fce-b61a-4597-ad87-73c72249cf8f"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMjYtNS0xLTEtMzg1OTI_5e1c3540-f254-4bcc-9e70-435916d969b1"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMjYtNS0xLTEtMzg1OTI_5e1c3540-f254-4bcc-9e70-435916d969b1"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMjctNy0xLTEtMzg1OTI_b53b275b-7b9c-4947-a04d-18d8d3fed14f"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMjctNy0xLTEtMzg1OTI_b53b275b-7b9c-4947-a04d-18d8d3fed14f"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMjctMy0xLTEtMzg1OTI_a56c2eb7-ac64-4443-b771-6f0f0d0e8a24"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMjctMy0xLTEtMzg1OTI_a56c2eb7-ac64-4443-b771-6f0f0d0e8a24"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMjYtNy0xLTEtMzg1OTI_ba27b911-057d-4a5c-9a91-ce102cfc1f13"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMjYtNy0xLTEtMzg1OTI_ba27b911-057d-4a5c-9a91-ce102cfc1f13"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMjctNS0xLTEtMzg1OTI_a35d6b48-b742-4a82-af6c-63744a3cbb35"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMjctNS0xLTEtMzg1OTI_a35d6b48-b742-4a82-af6c-63744a3cbb35"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMjYtMS0xLTEtMzg1OTI_1454d8f0-c9b1-4a39-9249-5bb88b1deb26"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMjYtMS0xLTEtMzg1OTI_1454d8f0-c9b1-4a39-9249-5bb88b1deb26"
          xlink:type="locator"/>
        <link:footnote id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMzEtMC0xLTEtMzg1OTI_f5ed2be7-df3d-4ae8-ada5-8ffafbd60b73" xlink:label="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMzEtMC0xLTEtMzg1OTI_f5ed2be7-df3d-4ae8-ada5-8ffafbd60b73" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US"><xhtml:span style="color:#000000;font-family:'Arial',sans-serif;font-size:5.2pt;font-weight:400;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline">(1)</xhtml:span><xhtml:span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> Earnings Per Share has been adjusted to exclude the portion of net income allocated to participating securities as a result of share-based payment awards.</xhtml:span></link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMjYtMy0xLTEtMzg1OTI_e5716f53-7190-466a-ac29-b29982993228"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMzEtMC0xLTEtMzg1OTI_f5ed2be7-df3d-4ae8-ada5-8ffafbd60b73"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMjctMS0xLTEtMzg1OTI_5f032fce-b61a-4597-ad87-73c72249cf8f"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMzEtMC0xLTEtMzg1OTI_f5ed2be7-df3d-4ae8-ada5-8ffafbd60b73"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMjYtNS0xLTEtMzg1OTI_5e1c3540-f254-4bcc-9e70-435916d969b1"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMzEtMC0xLTEtMzg1OTI_f5ed2be7-df3d-4ae8-ada5-8ffafbd60b73"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMjctNy0xLTEtMzg1OTI_b53b275b-7b9c-4947-a04d-18d8d3fed14f"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMzEtMC0xLTEtMzg1OTI_f5ed2be7-df3d-4ae8-ada5-8ffafbd60b73"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMjctMy0xLTEtMzg1OTI_a56c2eb7-ac64-4443-b771-6f0f0d0e8a24"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMzEtMC0xLTEtMzg1OTI_f5ed2be7-df3d-4ae8-ada5-8ffafbd60b73"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMjYtNy0xLTEtMzg1OTI_ba27b911-057d-4a5c-9a91-ce102cfc1f13"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMzEtMC0xLTEtMzg1OTI_f5ed2be7-df3d-4ae8-ada5-8ffafbd60b73"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMjctNS0xLTEtMzg1OTI_a35d6b48-b742-4a82-af6c-63744a3cbb35"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMzEtMC0xLTEtMzg1OTI_f5ed2be7-df3d-4ae8-ada5-8ffafbd60b73"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMjYtMS0xLTEtMzg1OTI_1454d8f0-c9b1-4a39-9249-5bb88b1deb26"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xOS9mcmFnOmI1MTExNjIwZjYwYjRmNGJiZGM1NDU3Nzg4NzQxYjdjL3RhYmxlOjc3OWVjYjJlMjUzOTQ2ZWE5YmZkYjNjZWI1MTAyZWYwL3RhYmxlcmFuZ2U6Nzc5ZWNiMmUyNTM5NDZlYTliZmRiM2NlYjUxMDJlZjBfMzEtMC0xLTEtMzg1OTI_f5ed2be7-df3d-4ae8-ada5-8ffafbd60b73"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfNy0zLTEtMS0zODU5Mg_22a2c17f-d5e7-4ffb-ba52-2bed946d57c3"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfNy0zLTEtMS0zODU5Mg_22a2c17f-d5e7-4ffb-ba52-2bed946d57c3"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfNS0zLTEtMS0zODU5Mg_990fed52-1eac-4a71-a093-300b9f44eb95"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfNS0zLTEtMS0zODU5Mg_990fed52-1eac-4a71-a093-300b9f44eb95"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMTUtMy0xLTEtMzg1OTI_eeb3ef95-9e83-4438-b0f8-abf75852c21d"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMTUtMy0xLTEtMzg1OTI_eeb3ef95-9e83-4438-b0f8-abf75852c21d"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMjktMy0xLTEtMzg1OTI_23c58204-e60d-46ac-be2a-c47a1cbd13aa"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMjktMy0xLTEtMzg1OTI_23c58204-e60d-46ac-be2a-c47a1cbd13aa"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMjctMy0xLTEtMzg1OTI_a504a58c-6ac3-49e1-a39b-c6af6902fb62"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMjctMy0xLTEtMzg1OTI_a504a58c-6ac3-49e1-a39b-c6af6902fb62"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMjQtMy0xLTEtMzg1OTI_b80c0a48-76c7-41e3-93dc-18bb4f666e8f"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMjQtMy0xLTEtMzg1OTI_b80c0a48-76c7-41e3-93dc-18bb4f666e8f"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMTMtMy0xLTEtMzg1OTI_bc38a41d-8cef-45d9-b357-7e4c3e33d180"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMTMtMy0xLTEtMzg1OTI_bc38a41d-8cef-45d9-b357-7e4c3e33d180"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMy0zLTEtMS0zODU5Mg_2d0cd8ac-7a36-4343-8f29-9afede079e8b"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMy0zLTEtMS0zODU5Mg_2d0cd8ac-7a36-4343-8f29-9afede079e8b"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfOC0zLTEtMS0zODU5Mg_40a6302f-1896-45bd-b907-db0131affa7f"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfOC0zLTEtMS0zODU5Mg_40a6302f-1896-45bd-b907-db0131affa7f"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMzktMy0xLTEtMzg1OTI_0973d0da-098a-474e-8578-cbb80aca3cc8"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMzktMy0xLTEtMzg1OTI_0973d0da-098a-474e-8578-cbb80aca3cc8"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOjI1ZDFlMzE2ODc5OTQwYTBiNmRkNDIxZjkxMjMyMDM5L3RhYmxlcmFuZ2U6MjVkMWUzMTY4Nzk5NDBhMGI2ZGQ0MjFmOTEyMzIwMzlfMS0xLTEtMS0zODU5Mg_bc38a41d-8cef-45d9-b357-7e4c3e33d180"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOjI1ZDFlMzE2ODc5OTQwYTBiNmRkNDIxZjkxMjMyMDM5L3RhYmxlcmFuZ2U6MjVkMWUzMTY4Nzk5NDBhMGI2ZGQ0MjFmOTEyMzIwMzlfMS0xLTEtMS0zODU5Mg_bc38a41d-8cef-45d9-b357-7e4c3e33d180"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMTctMy0xLTEtMzg1OTI_e22ae947-e82a-4902-ad7a-7e9ad00f53c0"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMTctMy0xLTEtMzg1OTI_e22ae947-e82a-4902-ad7a-7e9ad00f53c0"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfNDAtMy0xLTEtMzg1OTI_10cf9700-065d-4aec-8576-45ff521ead46"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfNDAtMy0xLTEtMzg1OTI_10cf9700-065d-4aec-8576-45ff521ead46"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMTAtMy0xLTEtMzg1OTI_d07a2f97-7db5-4567-9c90-3b30f4a76a90"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMTAtMy0xLTEtMzg1OTI_d07a2f97-7db5-4567-9c90-3b30f4a76a90"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfNDItMy0xLTEtMzg1OTI_d7b1d6d6-1dde-40fc-91ba-8387a3cca571"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfNDItMy0xLTEtMzg1OTI_d7b1d6d6-1dde-40fc-91ba-8387a3cca571"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMTQtMy0xLTEtMzg1OTI_10c72f3a-52b1-4011-8d52-84992fc58cf1"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMTQtMy0xLTEtMzg1OTI_10c72f3a-52b1-4011-8d52-84992fc58cf1"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMTktMy0xLTEtMzg1OTI_2f4b0e54-fdf5-48b3-8699-d66886c2ddb0"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMTktMy0xLTEtMzg1OTI_2f4b0e54-fdf5-48b3-8699-d66886c2ddb0"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMzUtMy0xLTEtMzg1OTI_3767127c-95da-4655-8f43-87f53ab4d6f0"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMzUtMy0xLTEtMzg1OTI_3767127c-95da-4655-8f43-87f53ab4d6f0"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfNC0zLTEtMS0zODU5Mg_9ee97794-62ae-47b4-86de-5fb3fd83a21b"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfNC0zLTEtMS0zODU5Mg_9ee97794-62ae-47b4-86de-5fb3fd83a21b"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMzgtMy0xLTEtMzg1OTI_3f9d7b37-06d0-4aa0-bade-0e59e63694e8"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMzgtMy0xLTEtMzg1OTI_3f9d7b37-06d0-4aa0-bade-0e59e63694e8"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfNDEtMy0xLTEtMzg1OTI_4d1c5efd-5198-4373-94be-82b9034697bc"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfNDEtMy0xLTEtMzg1OTI_4d1c5efd-5198-4373-94be-82b9034697bc"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMTYtMy0xLTEtMzg1OTI_494342b3-3272-4464-80c5-fd55904ef040"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMTYtMy0xLTEtMzg1OTI_494342b3-3272-4464-80c5-fd55904ef040"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfNi0zLTEtMS0zODU5Mg_7d53c6a9-65f0-4fc9-a2e6-1dacf670daff"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfNi0zLTEtMS0zODU5Mg_7d53c6a9-65f0-4fc9-a2e6-1dacf670daff"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMjYtMy0xLTEtMzg1OTI_537433e8-c9ca-4a40-a517-d8d3083bf380"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMjYtMy0xLTEtMzg1OTI_537433e8-c9ca-4a40-a517-d8d3083bf380"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfNDMtMy0xLTEtMzg1OTI_0aaeaae8-ad24-4cd4-b4f8-8f1fdeea6c1b"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfNDMtMy0xLTEtMzg1OTI_0aaeaae8-ad24-4cd4-b4f8-8f1fdeea6c1b"
          xlink:type="locator"/>
        <link:footnote id="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RleHRyZWdpb246YTcxNTQ0ODlkYTMxNDU1NTg2Yzk2YTNiY2VjYmE5OWVfNDIz_5ba58ec8-1e22-47b2-80c7-25f7a9064636" xlink:label="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RleHRyZWdpb246YTcxNTQ0ODlkYTMxNDU1NTg2Yzk2YTNiY2VjYmE5OWVfNDIz_5ba58ec8-1e22-47b2-80c7-25f7a9064636" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">The condensed consolidated balance sheet at December 31, 2021 has been derived from the audited consolidated financial statements at that date but does not include all of the information and footnotes required by accounting principles generally accepted in the United States for complete financial statements.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfNy0zLTEtMS0zODU5Mg_22a2c17f-d5e7-4ffb-ba52-2bed946d57c3"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RleHRyZWdpb246YTcxNTQ0ODlkYTMxNDU1NTg2Yzk2YTNiY2VjYmE5OWVfNDIz_5ba58ec8-1e22-47b2-80c7-25f7a9064636"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfNS0zLTEtMS0zODU5Mg_990fed52-1eac-4a71-a093-300b9f44eb95"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RleHRyZWdpb246YTcxNTQ0ODlkYTMxNDU1NTg2Yzk2YTNiY2VjYmE5OWVfNDIz_5ba58ec8-1e22-47b2-80c7-25f7a9064636"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMTUtMy0xLTEtMzg1OTI_eeb3ef95-9e83-4438-b0f8-abf75852c21d"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RleHRyZWdpb246YTcxNTQ0ODlkYTMxNDU1NTg2Yzk2YTNiY2VjYmE5OWVfNDIz_5ba58ec8-1e22-47b2-80c7-25f7a9064636"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMjktMy0xLTEtMzg1OTI_23c58204-e60d-46ac-be2a-c47a1cbd13aa"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RleHRyZWdpb246YTcxNTQ0ODlkYTMxNDU1NTg2Yzk2YTNiY2VjYmE5OWVfNDIz_5ba58ec8-1e22-47b2-80c7-25f7a9064636"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMjctMy0xLTEtMzg1OTI_a504a58c-6ac3-49e1-a39b-c6af6902fb62"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RleHRyZWdpb246YTcxNTQ0ODlkYTMxNDU1NTg2Yzk2YTNiY2VjYmE5OWVfNDIz_5ba58ec8-1e22-47b2-80c7-25f7a9064636"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMjQtMy0xLTEtMzg1OTI_b80c0a48-76c7-41e3-93dc-18bb4f666e8f"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RleHRyZWdpb246YTcxNTQ0ODlkYTMxNDU1NTg2Yzk2YTNiY2VjYmE5OWVfNDIz_5ba58ec8-1e22-47b2-80c7-25f7a9064636"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMTMtMy0xLTEtMzg1OTI_bc38a41d-8cef-45d9-b357-7e4c3e33d180"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RleHRyZWdpb246YTcxNTQ0ODlkYTMxNDU1NTg2Yzk2YTNiY2VjYmE5OWVfNDIz_5ba58ec8-1e22-47b2-80c7-25f7a9064636"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMy0zLTEtMS0zODU5Mg_2d0cd8ac-7a36-4343-8f29-9afede079e8b"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RleHRyZWdpb246YTcxNTQ0ODlkYTMxNDU1NTg2Yzk2YTNiY2VjYmE5OWVfNDIz_5ba58ec8-1e22-47b2-80c7-25f7a9064636"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfOC0zLTEtMS0zODU5Mg_40a6302f-1896-45bd-b907-db0131affa7f"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RleHRyZWdpb246YTcxNTQ0ODlkYTMxNDU1NTg2Yzk2YTNiY2VjYmE5OWVfNDIz_5ba58ec8-1e22-47b2-80c7-25f7a9064636"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMzktMy0xLTEtMzg1OTI_0973d0da-098a-474e-8578-cbb80aca3cc8"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RleHRyZWdpb246YTcxNTQ0ODlkYTMxNDU1NTg2Yzk2YTNiY2VjYmE5OWVfNDIz_5ba58ec8-1e22-47b2-80c7-25f7a9064636"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV80MC9mcmFnOmZiMWEzZDMyNmVmYjRjMDJhMDE5ZmRiMDBkN2I0OTQyL3RhYmxlOjI1ZDFlMzE2ODc5OTQwYTBiNmRkNDIxZjkxMjMyMDM5L3RhYmxlcmFuZ2U6MjVkMWUzMTY4Nzk5NDBhMGI2ZGQ0MjFmOTEyMzIwMzlfMS0xLTEtMS0zODU5Mg_bc38a41d-8cef-45d9-b357-7e4c3e33d180"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RleHRyZWdpb246YTcxNTQ0ODlkYTMxNDU1NTg2Yzk2YTNiY2VjYmE5OWVfNDIz_5ba58ec8-1e22-47b2-80c7-25f7a9064636"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMTctMy0xLTEtMzg1OTI_e22ae947-e82a-4902-ad7a-7e9ad00f53c0"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RleHRyZWdpb246YTcxNTQ0ODlkYTMxNDU1NTg2Yzk2YTNiY2VjYmE5OWVfNDIz_5ba58ec8-1e22-47b2-80c7-25f7a9064636"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfNDAtMy0xLTEtMzg1OTI_10cf9700-065d-4aec-8576-45ff521ead46"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RleHRyZWdpb246YTcxNTQ0ODlkYTMxNDU1NTg2Yzk2YTNiY2VjYmE5OWVfNDIz_5ba58ec8-1e22-47b2-80c7-25f7a9064636"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMTAtMy0xLTEtMzg1OTI_d07a2f97-7db5-4567-9c90-3b30f4a76a90"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RleHRyZWdpb246YTcxNTQ0ODlkYTMxNDU1NTg2Yzk2YTNiY2VjYmE5OWVfNDIz_5ba58ec8-1e22-47b2-80c7-25f7a9064636"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfNDItMy0xLTEtMzg1OTI_d7b1d6d6-1dde-40fc-91ba-8387a3cca571"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RleHRyZWdpb246YTcxNTQ0ODlkYTMxNDU1NTg2Yzk2YTNiY2VjYmE5OWVfNDIz_5ba58ec8-1e22-47b2-80c7-25f7a9064636"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMTQtMy0xLTEtMzg1OTI_10c72f3a-52b1-4011-8d52-84992fc58cf1"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RleHRyZWdpb246YTcxNTQ0ODlkYTMxNDU1NTg2Yzk2YTNiY2VjYmE5OWVfNDIz_5ba58ec8-1e22-47b2-80c7-25f7a9064636"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMTktMy0xLTEtMzg1OTI_2f4b0e54-fdf5-48b3-8699-d66886c2ddb0"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RleHRyZWdpb246YTcxNTQ0ODlkYTMxNDU1NTg2Yzk2YTNiY2VjYmE5OWVfNDIz_5ba58ec8-1e22-47b2-80c7-25f7a9064636"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMzUtMy0xLTEtMzg1OTI_3767127c-95da-4655-8f43-87f53ab4d6f0"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RleHRyZWdpb246YTcxNTQ0ODlkYTMxNDU1NTg2Yzk2YTNiY2VjYmE5OWVfNDIz_5ba58ec8-1e22-47b2-80c7-25f7a9064636"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfNC0zLTEtMS0zODU5Mg_9ee97794-62ae-47b4-86de-5fb3fd83a21b"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RleHRyZWdpb246YTcxNTQ0ODlkYTMxNDU1NTg2Yzk2YTNiY2VjYmE5OWVfNDIz_5ba58ec8-1e22-47b2-80c7-25f7a9064636"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMzgtMy0xLTEtMzg1OTI_3f9d7b37-06d0-4aa0-bade-0e59e63694e8"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RleHRyZWdpb246YTcxNTQ0ODlkYTMxNDU1NTg2Yzk2YTNiY2VjYmE5OWVfNDIz_5ba58ec8-1e22-47b2-80c7-25f7a9064636"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfNDEtMy0xLTEtMzg1OTI_4d1c5efd-5198-4373-94be-82b9034697bc"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RleHRyZWdpb246YTcxNTQ0ODlkYTMxNDU1NTg2Yzk2YTNiY2VjYmE5OWVfNDIz_5ba58ec8-1e22-47b2-80c7-25f7a9064636"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMTYtMy0xLTEtMzg1OTI_494342b3-3272-4464-80c5-fd55904ef040"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RleHRyZWdpb246YTcxNTQ0ODlkYTMxNDU1NTg2Yzk2YTNiY2VjYmE5OWVfNDIz_5ba58ec8-1e22-47b2-80c7-25f7a9064636"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfNi0zLTEtMS0zODU5Mg_7d53c6a9-65f0-4fc9-a2e6-1dacf670daff"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RleHRyZWdpb246YTcxNTQ0ODlkYTMxNDU1NTg2Yzk2YTNiY2VjYmE5OWVfNDIz_5ba58ec8-1e22-47b2-80c7-25f7a9064636"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfMjYtMy0xLTEtMzg1OTI_537433e8-c9ca-4a40-a517-d8d3083bf380"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RleHRyZWdpb246YTcxNTQ0ODlkYTMxNDU1NTg2Yzk2YTNiY2VjYmE5OWVfNDIz_5ba58ec8-1e22-47b2-80c7-25f7a9064636"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RhYmxlOmRhMGE4M2RhM2JjYTQxNTlhZjM5ZTNjNWFmNzRhYjI4L3RhYmxlcmFuZ2U6ZGEwYTgzZGEzYmNhNDE1OWFmMzllM2M1YWY3NGFiMjhfNDMtMy0xLTEtMzg1OTI_0aaeaae8-ad24-4cd4-b4f8-8f1fdeea6c1b"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjZiNTIyNWJkN2VkMDQ5NmViMTY1MDRiMTI2M2M2Mjg5L3NlYzo2YjUyMjViZDdlZDA0OTZlYjE2NTA0YjEyNjNjNjI4OV8xNi9mcmFnOmE3MTU0NDg5ZGEzMTQ1NTU4NmM5NmEzYmNlY2JhOTllL3RleHRyZWdpb246YTcxNTQ0ODlkYTMxNDU1NTg2Yzk2YTNiY2VjYmE5OWVfNDIz_5ba58ec8-1e22-47b2-80c7-25f7a9064636"
          xlink:type="arc"/>
    </link:footnoteLink>
</xbrl>
